summaryrefslogtreecommitdiffstats
path: root/drivers/hid/hid-logitech-hidpp.c
diff options
context:
space:
mode:
authorJim Keir <jimkeir@oracledbadirect.com>2015-01-23 18:21:12 +0100
committerJiri Kosina <jkosina@suse.cz>2015-01-26 21:26:30 +0100
commitafd700d933963d07391e3e3dfbfbc05e905960ef (patch)
tree063934f6d0e4467c70a50da8766b4868a429926a /drivers/hid/hid-logitech-hidpp.c
parentHID: hyperv: match wait_for_completion_timeout return type (diff)
downloadlinux-afd700d933963d07391e3e3dfbfbc05e905960ef.tar.xz
linux-afd700d933963d07391e3e3dfbfbc05e905960ef.zip
HID: pidff: Fix initialisation forMicrosoft Sidewinder FF Pro 2
The FF2 driver (usbhid/hid-pidff.c) sends commands to the stick during ff_init. However, this is called inside a block where driver_input_lock is locked, so the results of these initial commands are discarded. This behavior is the "killer", without this nothing else works. ff_init issues commands using "hid_hw_request". This eventually goes to hid_input_report, which returns -EBUSY because driver_input_lock is locked. The change is to delay the ff_init call in hid-core.c until after this lock has been released. Calling hid_device_io_start() releases the lock so the device can be configured. We also need to call hid_device_io_stop() on exit for the lock to remain locked while ending the init of the drivers. [ benjamin.tissoires@redhat.com: imrpoved the changelog a lot ] Signed-off-by: Jim Keir <jimkeir@oracledbadirect.com> Reviewed-by: Benjamin.tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid/hid-logitech-hidpp.c')
0 files changed, 0 insertions, 0 deletions