1. 28 5月, 2013 2 次提交
    • J
      HID: sony: fix leds dependency · 40e32ee6
      Jiri Kosina 提交于
      The newly added support for Buzz controller
      
      - introduced Kconfig selection of LEDS_CLASS
      - introduced conditional preprocessor checking for CONFIG_LEDS_CLASS
      
      This has multiple problems -- namely select doesn't work transitively,
      so it shouldn't be used. On the other hand the code assumed that LEDS_CLASS
      is enabled in some places, but not everywhere.
      
      Put LEDS_CLASS as a Kconfig dependency for hid-sony and remove all the
      CONFIG_LEDS_CLASS conditionals from hid-sony.
      
      Reported-by: fengguang.wu@intel.com
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      40e32ee6
    • C
      HID: driver for PS2/3 Buzz controllers · f04d5140
      Colin Leitner 提交于
      This patch adds support for PS2/3 Buzz controllers into hid-sony
      
      It has been tested on Debian 7 with kernel version 3.10.0-rc2. Unfortunately
      I can't test the patch with a regular six-axis controller myself.
      Signed-off-by: NColin Leitner <colin.leitner@gmail.com>
      Cc: Jiri Kosina <jkosina@suse.cz>
      Cc: linux-input@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      f04d5140
  2. 06 5月, 2013 1 次提交
    • J
      HID: debug: fix RCU preemption issue · 1deb9d34
      Jiri Kosina 提交于
      Commit 2353f2be ("HID: protect hid_debug_list") introduced mutex
      locking around debug_list access to prevent SMP races when debugfs
      nodes are being operated upon by multiple userspace processess.
      
      mutex is not a proper synchronization primitive though, as the hid-debug
      callbacks are being called from atomic contexts.
      
      We also have to be careful about disabling IRQs when taking the lock
      to prevent deadlock against IRQ handlers.
      
      Benjamin reports this has also been reported in RH bugzilla as bug #958935.
      
       ===============================
       [ INFO: suspicious RCU usage. ]
       3.9.0+ #94 Not tainted
       -------------------------------
       include/linux/rcupdate.h:476 Illegal context switch in RCU read-side critical section!
      
       other info that might help us debug this:
      
       rcu_scheduler_active = 1, debug_locks = 0
       4 locks held by Xorg/5502:
        #0:  (&evdev->mutex){+.+...}, at: [<ffffffff81512c3d>] evdev_write+0x6d/0x160
        #1:  (&(&dev->event_lock)->rlock#2){-.-...}, at: [<ffffffff8150dd9b>] input_inject_event+0x5b/0x230
        #2:  (rcu_read_lock){.+.+..}, at: [<ffffffff8150dd82>] input_inject_event+0x42/0x230
        #3:  (&(&usbhid->lock)->rlock){-.....}, at: [<ffffffff81565289>] usb_hidinput_input_event+0x89/0x120
      
       stack backtrace:
       CPU: 0 PID: 5502 Comm: Xorg Not tainted 3.9.0+ #94
       Hardware name: Dell Inc. OptiPlex 390/0M5DCD, BIOS A09 07/24/2012
        0000000000000001 ffff8800689c7c38 ffffffff816f249f ffff8800689c7c68
        ffffffff810acb1d 0000000000000000 ffffffff81a03ac7 000000000000019d
        0000000000000000 ffff8800689c7c90 ffffffff8107cda7 0000000000000000
       Call Trace:
        [<ffffffff816f249f>] dump_stack+0x19/0x1b
        [<ffffffff810acb1d>] lockdep_rcu_suspicious+0xfd/0x130
        [<ffffffff8107cda7>] __might_sleep+0xc7/0x230
        [<ffffffff816f7770>] mutex_lock_nested+0x40/0x3a0
        [<ffffffff81312ac4>] ? vsnprintf+0x354/0x640
        [<ffffffff81553cc4>] hid_debug_event+0x34/0x100
        [<ffffffff81554197>] hid_dump_input+0x67/0xa0
        [<ffffffff81556430>] hid_set_field+0x50/0x120
        [<ffffffff8156529a>] usb_hidinput_input_event+0x9a/0x120
        [<ffffffff8150d89e>] input_handle_event+0x8e/0x530
        [<ffffffff8150df10>] input_inject_event+0x1d0/0x230
        [<ffffffff8150dd82>] ? input_inject_event+0x42/0x230
        [<ffffffff81512cae>] evdev_write+0xde/0x160
        [<ffffffff81185038>] vfs_write+0xc8/0x1f0
        [<ffffffff81185535>] SyS_write+0x55/0xa0
        [<ffffffff81704482>] system_call_fastpath+0x16/0x1b
       BUG: sleeping function called from invalid context at kernel/mutex.c:413
       in_atomic(): 1, irqs_disabled(): 1, pid: 5502, name: Xorg
       INFO: lockdep is turned off.
       irq event stamp: 1098574
       hardirqs last  enabled at (1098573): [<ffffffff816fb53f>] _raw_spin_unlock_irqrestore+0x3f/0x70
       hardirqs last disabled at (1098574): [<ffffffff816faaf5>] _raw_spin_lock_irqsave+0x25/0xa0
       softirqs last  enabled at (1098306): [<ffffffff8104971f>] __do_softirq+0x18f/0x3c0
       softirqs last disabled at (1097867): [<ffffffff81049ad5>] irq_exit+0xa5/0xb0
       CPU: 0 PID: 5502 Comm: Xorg Not tainted 3.9.0+ #94
       Hardware name: Dell Inc. OptiPlex 390/0M5DCD, BIOS A09 07/24/2012
        ffffffff81a03ac7 ffff8800689c7c68 ffffffff816f249f ffff8800689c7c90
        ffffffff8107ce60 0000000000000000 ffff8800689c7fd8 ffff88006a62c800
        ffff8800689c7d10 ffffffff816f7770 ffff8800689c7d00 ffffffff81312ac4
       Call Trace:
        [<ffffffff816f249f>] dump_stack+0x19/0x1b
        [<ffffffff8107ce60>] __might_sleep+0x180/0x230
        [<ffffffff816f7770>] mutex_lock_nested+0x40/0x3a0
        [<ffffffff81312ac4>] ? vsnprintf+0x354/0x640
        [<ffffffff81553cc4>] hid_debug_event+0x34/0x100
        [<ffffffff81554197>] hid_dump_input+0x67/0xa0
        [<ffffffff81556430>] hid_set_field+0x50/0x120
        [<ffffffff8156529a>] usb_hidinput_input_event+0x9a/0x120
        [<ffffffff8150d89e>] input_handle_event+0x8e/0x530
        [<ffffffff8150df10>] input_inject_event+0x1d0/0x230
        [<ffffffff8150dd82>] ? input_inject_event+0x42/0x230
        [<ffffffff81512cae>] evdev_write+0xde/0x160
        [<ffffffff81185038>] vfs_write+0xc8/0x1f0
        [<ffffffff81185535>] SyS_write+0x55/0xa0
        [<ffffffff81704482>] system_call_fastpath+0x16/0x1b
      Reported-by: Nmajianpeng <majianpeng@gmail.com>
      Reported-by: NBenjamin Tissoires <benjamin.tissoires@gmail.com>
      Reviewed-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      1deb9d34
  3. 03 5月, 2013 1 次提交
    • S
      HID: hid-steelseries fix led class build issue · b52b5061
      Simon Wood 提交于
      Fixes 'undefined reference' issue when hid-steelseries is built in,
      but led-class is a module.
      --
      drivers/built-in.o: In function `steelseries_srws1_remove':
      hid-steelseries.c:(.text+0x3b97a1): undefined reference to `led_classdev_unregister'
      drivers/built-in.o: In function `steelseries_srws1_probe':
      hid-steelseries.c:(.text+0x3b9c51): undefined reference to `led_classdev_register'
      hid-steelseries.c:(.text+0x3b9ce5): undefined reference to `led_classdev_register'
      hid-steelseries.c:(.text+0x3b9d4b): undefined reference to `led_classdev_unregister'
      --
      
      Patch allows LED control when led-class is built in, or both hid-steelseries
      _and_ led-class are both modules.
      Reported-by: NRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: NSimon Wood <simon@mungewell.org>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      b52b5061
  4. 01 5月, 2013 1 次提交
  5. 30 4月, 2013 2 次提交
  6. 29 4月, 2013 1 次提交
  7. 28 4月, 2013 1 次提交
  8. 24 4月, 2013 1 次提交
  9. 21 4月, 2013 1 次提交
  10. 19 4月, 2013 1 次提交
  11. 08 4月, 2013 1 次提交
  12. 05 4月, 2013 1 次提交
  13. 04 4月, 2013 5 次提交
  14. 29 3月, 2013 1 次提交
  15. 27 3月, 2013 9 次提交
  16. 26 3月, 2013 1 次提交
  17. 18 3月, 2013 4 次提交
  18. 14 3月, 2013 3 次提交
  19. 07 3月, 2013 3 次提交