Re: [PATCH] usb: quirks: add control message delay for 1b1c:1b20

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]