Thread (5 messages) 5 messages, 4 authors, 2020-08-18

Re: [PATCH v2] HID: usbhid: do not sleep when opening device

From: Jiri Kosina <jikos@kernel.org>
Date: 2020-08-18 17:52:24
Also in: linux-usb, lkml

On Tue, 18 Aug 2020, Johannes Hirte wrote:
quoted
usbhid tries to give the device 50 milliseconds to drain its queues when
opening the device, but dies it naively by simply sleeping in open handler,
which slows down device probing (and thus may affect overall boot time).

However we do not need to sleep as we can instead mark a point of time in
the future when we should start processing the events.

Reported-by: Nicolas Boichat <redacted>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
---
This change breaks various Logitech devices: 
https://bugzilla.kernel.org/show_bug.cgi?id=208935
Copy/pasting from the other thread:

=====
Yeah, this problem popped out also in other contexts, where many Logitech 
devices didn't probe properly, because of the race where the first IRQ is 
dropped on the floor (after hid_device_io_start() happens, but before the 
50ms timeout passess), and report descriptor never gets parsed and 
populated.

As this is just a boot time micro-optimization, I am going to revert the 
patch for 5.9 now, and we can try to fix this properly for next merge 
window.
=====

Thanks,

-- 
Jiri Kosina
SUSE Labs
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help