Re: [PATCH] HID: logitech-dj: do not directly callhid_output_raw_report() during probe

From: Benjamin Tissoires
Date: Thu Mar 07 2013 - 10:12:19 EST


On Thu, Mar 7, 2013 at 4:07 PM, Jiri Kosina <jkosina@xxxxxxx> wrote:
> On Tue, 5 Mar 2013, Benjamin Tissoires wrote:
>
>> 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 .hid_hw_request() 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@xxxxxxxxx>
>> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx>
>> ---
>>
>> Hi guys,
>>
>> this bug has taken too long to be solved. I managed to figure out the root cause
>> recently thanks to the work of Jelle Foks in lp#1039143.
>>
>> Jiri, I based this fix on top of your for-3.10/logitech branch.
>> It *will* failed to build when you will merge it with the branch
>> for-3.10/hid-driver-transport-cleanups. This is due to the use of
>> usbhid_submit_report() instead of hid_hw_request(). The
>>
>> However, I prefer do it that way so that I can send it to "stable" to fix all
>> the current releases since 3.2 (I guess only the LTS v3.4 will pick it and the
>> current 3.8, but distros can then cherry-pick it easily).
>
> Benjamin, Bob,
>
> excellent work, thanks for figuring it out.
>
> Given the nature of the bug, I'd prefer to push it to Linus for 3.9 still,
> and have it backported to -stable as well.
>
> Once it's in Linus' tree, I will handle the fallout in
> for-3.10/hid-driver-transport-cleanups and fix the build.
>
> Ok?

That seems perfect to me.

>
> Now queued for 3.9.
>

Thanks. And thanks also for applying the other patches Jiri.

Cheers,
Benjamin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/