]> git.baikalelectronics.ru Git - kernel.git/commit
HID: logitech-dj: do not directly call hid_output_raw_report() during probe
authorBenjamin Tissoires <benjamin.tissoires@redhat.com>
Tue, 5 Mar 2013 16:09:00 +0000 (17:09 +0100)
committerJiri Kosina <jkosina@suse.cz>
Thu, 7 Mar 2013 15:06:55 +0000 (16:06 +0100)
commit13d5f06365bbeaddc167f2caadb08cdeac3ec081
treeddadde1a9ac345c393dd5abc332602b335859fbc
parenta1a4d386086a2cab3d3d3f4a0dc351d0188901e0
HID: logitech-dj: do not directly call hid_output_raw_report() during probe

hid_output_raw_report() makes a direct call to usb_control_msg(). However,
some USB3 boards have shown that the usb device is not ready during the
.probe(). This blocks the entire usb device, and the paired mice, keyboards
are not functional. The dmesg output is the following:

[   11.912287] logitech-djreceiver 0003:046D:C52B.0003: hiddev0,hidraw0: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:14.0-2/input2
[   11.912537] logitech-djreceiver 0003:046D:C52B.0003: logi_dj_probe:logi_dj_recv_query_paired_devices error:-32
[   11.912636] logitech-djreceiver: probe of 0003:046D:C52B.0003 failed with error -32

Relying on the scheduled call to usbhid_submit_report() fixes the problem.

related bugs:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1072082
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1039143
https://bugzilla.redhat.com/show_bug.cgi?id=840391
https://bugzilla.kernel.org/show_bug.cgi?id=49781

Reported-and-tested-by: Bob Bowles <bobjohnbowles@gmail.com>
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-logitech-dj.c