On Mon, Mar 12, 2018 at 01:16:28AM +0100, Danilo Krummrich wrote: > Corsair Strafe RGB keyboard does not respond to usb control messages > sometimes and hence generates timeouts. > > Commit de3af5bf259d ("usb: quirks: add delay init quirk for Corsair > Strafe RGB keyboard") tried to fix those timeouts by adding > USB_QUIRK_DELAY_INIT. > > Unfortunately, even with this quirk timeouts of usb_control_msg() > can still be seen, but with a lower frequency (approx. 1 out of 15): > > [ 29.103520] usb 1-8: string descriptor 0 read error: -110 > [ 34.363097] usb 1-8: can't set config #1, error -110 > > Adding further delays to different locations where usb control > messages are issued just moves the timeouts to other locations, > e.g.: > > [ 35.400533] usbhid 1-8:1.0: can't add hid device: -110 > [ 35.401014] usbhid: probe of 1-8:1.0 failed with error -110 > > The only way to reliably avoid those issues is having a pause after > each usb control message. In approx. 200 boot cycles no more timeouts > were seen. > > Addionaly, keep USB_QUIRK_DELAY_INIT as it turned out to be necessary > to have the delay in hub_port_connect() after hub_port_init(). > > The overall boot time seems not to be influenced by these additional > delays, even on fast machines and lightweight distributions. > > Fixes: de3af5bf259d ("usb: quirks: add delay init quirk for Corsair Strafe RGB keyboard") > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Danilo Krummrich <danilokrummrich@xxxxxxxxxxxxx> > --- > drivers/usb/core/message.c | 4 ++++ > drivers/usb/core/quirks.c | 3 ++- > include/linux/usb/quirks.h | 3 +++ > 3 files changed, 9 insertions(+), 1 deletion(-) Please use scripts/get_maintainer.pl to know who to send patches to (hint, you forgot all of the USB developers...) Please fix up and resend. thanks, greg k-h