Danilo Krummrich
b2708e1e30
usb: quirks: add control message delay for 1b1c:1b20
...
commit cb88a05887 upstream.
Corsair Strafe RGB keyboard does not respond to usb control messages
sometimes and hence generates timeouts.
Commit de3af5bf25 ("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: de3af5bf25 ("usb: quirks: add delay init quirk for Corsair Strafe RGB keyboard")
Cc: stable@vger.kernel.org
Signed-off-by: Danilo Krummrich <danilokrummrich@dk-develop.de >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2018-03-18 11:18:56 +01:00
..
2016-10-12 11:01:37 -07:00
2016-10-05 10:11:24 -07:00
2016-03-04 23:50:27 -06:00
2017-12-20 10:07:25 +01:00
2018-02-03 17:05:33 +01:00
2018-02-17 13:21:13 +01:00
2018-03-18 11:18:54 +01:00
2016-10-11 13:22:22 -07:00
2016-10-22 17:08:07 -04:00
2016-10-07 09:45:43 -07:00
2018-03-18 11:18:56 +01:00
2017-12-20 10:07:26 +01:00
2012-02-09 09:04:23 -08:00
2013-09-24 10:35:17 +01:00
2015-04-22 08:00:42 +10:00
2015-01-28 18:45:23 -05:00
2012-12-02 00:05:12 +00:00
2016-08-04 14:19:16 -06:00
2016-05-04 23:41:14 +02:00
2012-09-10 11:13:16 -07:00
2016-08-18 10:44:20 +02:00
2016-10-07 18:46:26 -07:00
2016-09-15 18:29:06 -04:00
2015-05-19 08:39:11 +02:00
2018-01-17 09:38:55 +01:00
2018-01-31 12:55:57 +01:00
2017-12-09 22:01:54 +01:00
2016-09-09 12:09:24 +03:00
2016-08-11 09:41:35 -06:00
2016-02-22 08:51:38 +01:00
2018-01-31 12:55:51 +01:00
2017-09-27 14:39:20 +02:00
2015-01-20 14:02:58 -07:00
2016-04-19 16:54:26 -07:00
2016-01-27 12:38:03 +01:00
2016-06-28 10:19:35 +02:00
2014-01-21 20:18:26 -08:00
2016-10-07 18:46:29 -07:00
2017-03-12 06:41:44 +01:00
2018-03-18 11:18:52 +01:00
2018-03-18 11:18:52 +01:00
2018-02-22 15:43:53 +01:00
2016-11-11 08:12:37 -08:00
2013-09-13 15:09:52 +02:00
2018-01-17 09:38:57 +01:00
2018-01-02 20:35:17 +01:00
2018-01-10 09:29:52 +01:00
2018-02-25 11:05:44 +01:00
2015-02-12 18:54:15 -08:00
2018-02-28 10:18:33 +01:00
2013-05-12 14:16:21 +02:00
2016-04-15 11:20:32 -07:00
2016-09-06 13:08:40 +09:00
2017-03-12 06:41:44 +01:00
2016-09-14 13:56:38 -04:00
2017-07-15 12:16:11 +02:00
2016-09-26 22:16:41 +05:30
2017-12-14 09:28:11 +01:00
2010-07-28 09:59:01 -04:00
2016-08-04 08:50:07 -04:00
2014-09-29 00:04:55 -04:00
2012-10-13 10:46:48 +01:00
2014-11-24 07:45:02 +01:00
2012-10-13 10:46:48 +01:00
2016-07-01 16:37:06 +02:00
2015-12-15 08:53:36 -05:00
2016-10-06 09:07:44 -04:00
2016-10-03 09:11:14 -07:00
2018-02-13 12:36:00 +01:00
2016-08-11 15:33:23 +05:30
2017-12-09 22:01:56 +01:00
2014-05-26 14:33:10 +02:00
2014-01-21 23:17:20 -08:00
2018-01-17 09:38:58 +01:00
2009-12-17 10:58:17 -05:00
2013-09-12 10:12:47 -07:00
2018-03-11 16:21:28 +01:00
2018-01-10 09:29:52 +01:00
2017-08-06 18:59:43 -07:00
2015-11-04 18:10:13 -08:00
2017-12-14 09:28:22 +01:00
2016-05-10 15:43:09 -04:00
2014-08-06 18:01:24 -07:00
2015-05-31 11:40:14 +09:00
2015-11-18 16:17:42 -05:00
2013-04-30 10:09:06 +02:00
2017-10-27 10:38:08 +02:00
2012-10-13 10:46:48 +01:00
2015-05-05 13:40:42 -06:00
2008-07-09 12:09:28 -04:00
2015-10-09 07:49:05 -07:00
2018-03-18 11:18:52 +01:00
2014-05-14 16:40:04 -07:00
2016-07-13 17:27:24 -07:00
2012-10-09 16:22:40 +09:00
2016-10-26 15:45:38 +10:00
2014-09-23 23:13:13 -07:00
2014-01-27 21:02:39 -08:00
2018-01-02 20:35:11 +01:00
2015-09-16 15:47:51 +02:00
2018-02-22 15:43:48 +01:00
2015-04-03 12:52:29 -04:00
2018-02-22 15:43:55 +01:00
2007-07-31 15:39:40 -07:00
2016-01-16 11:17:23 -08:00
2016-07-06 10:34:48 +01:00
2013-11-13 12:09:07 +09:00
2018-02-28 10:18:34 +01:00
2014-10-14 15:05:34 -04:00
2012-07-21 10:34:00 -07:00
2013-07-03 16:07:43 -07:00
2015-01-25 23:16:29 -05:00
2012-03-16 10:38:24 -04:00
2017-02-09 08:08:28 +01:00
2016-03-17 13:47:50 -07:00
2017-01-19 20:17:59 +01:00
2018-02-28 10:18:33 +01:00
2017-12-20 10:07:29 +01:00
2016-07-26 16:19:19 -07:00
2017-12-14 09:28:16 +01:00
2018-01-31 12:55:53 +01:00
2018-02-13 12:35:58 +01:00
2014-01-27 21:02:39 -08:00
2016-09-14 22:11:08 +02:00
2013-06-26 12:10:56 +02:00
2016-10-07 09:20:53 -07:00
2012-12-11 17:22:27 -08:00
2018-03-18 11:18:51 +01:00
2015-07-27 08:23:27 -05:00
2017-12-14 09:28:16 +01:00
2016-10-07 18:46:28 -07:00
2013-03-29 17:54:33 -07:00
2012-10-13 10:46:48 +01:00
2013-03-01 23:51:07 -05:00
2014-11-13 10:35:25 -07:00
2018-02-25 11:05:51 +01:00
2018-01-05 15:46:35 +01:00
2017-02-09 08:08:28 +01:00
2016-05-20 17:58:30 -07:00
2018-01-17 09:38:53 +01:00
2016-06-28 00:42:10 +02:00
2016-04-22 01:32:37 +02:00
2012-10-13 10:46:48 +01:00
2018-02-25 11:05:41 +01:00
2017-04-12 12:41:15 +02:00
2017-12-16 16:25:45 +01:00
2015-04-15 16:35:23 -07:00
2016-10-29 12:14:39 -06:00
2012-03-24 10:08:39 -07:00
2016-05-30 09:37:47 +02:00
2016-06-29 23:39:52 +02:00
2016-08-02 19:35:38 -04:00
2016-06-08 15:16:42 +02:00
2012-10-13 10:46:48 +01:00
2013-06-17 16:38:57 -07:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2016-04-30 09:26:55 -07:00
2016-10-11 15:06:33 -07:00
2016-06-03 08:37:25 +02:00
2018-01-17 09:38:53 +01:00
2015-02-12 18:54:09 -08:00
2012-06-28 17:14:34 +01:00
2017-08-30 10:21:40 +02:00
2016-05-08 23:46:14 -04:00
2016-03-25 16:37:42 -07:00
2015-04-14 09:50:27 -07:00
2012-10-13 10:46:48 +01:00
2012-02-24 10:05:59 +01:00
2015-06-25 17:00:38 -07:00
2016-04-21 10:47:26 +10:00
2018-02-25 11:05:41 +01:00
2016-06-11 14:57:56 -07:00
2016-08-11 15:39:38 +05:30
2011-03-15 00:43:46 +01:00
2017-12-14 09:28:11 +01:00
2018-01-02 20:35:13 +01:00
2016-10-20 13:27:47 +02:00
2016-03-17 15:09:34 -07:00
2016-06-20 12:47:15 -07:00
2018-01-02 20:35:17 +01:00
2014-07-18 11:49:57 +02:00
2010-11-29 08:55:25 +11:00
2013-03-15 00:36:09 -04:00
2015-02-03 12:48:43 -05:00
2018-02-03 17:05:41 +01:00
2016-05-23 17:04:14 -07:00
2016-08-08 13:02:01 -07:00
2015-12-18 17:48:50 -08:00
2016-05-03 14:32:07 -07:00
2011-06-15 20:04:00 -07:00
2018-01-31 12:55:52 +01:00
2012-10-13 10:46:48 +01:00
2017-12-25 14:23:37 +01:00
2016-03-02 17:01:57 +02:00
2018-01-02 20:35:18 +01:00
2016-07-28 16:07:41 -07:00
2015-02-02 10:09:54 -08:00
2012-10-13 10:46:48 +01:00
2016-07-14 10:42:35 +02:00
2018-03-18 11:18:48 +01:00
2016-10-07 18:46:27 -07:00
2014-08-08 15:57:26 -07:00