On Tue, 18 Aug 2020, Johannes Hirte wrote: > > 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 <drinkcat@xxxxxxxxxxxx> > > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> > > --- > > > > 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