usb: Increase quirk delay for USB devices
authorDmitry Fleytman <dmitry@daynix.com>
Tue, 5 Sep 2017 08:40:56 +0000 (11:40 +0300)
committerBen Hutchings <ben@decadent.org.uk>
Mon, 1 Jan 2018 20:50:49 +0000 (20:50 +0000)
commit b2a542bbb3081dbd64acc8929c140d196664c406 upstream.

Commit e0429362ab15
("usb: Add device quirk for Logitech HD Pro Webcams C920 and C930e")
introduced quirk to workaround an issue with some Logitech webcams.

The workaround is introducing delay for some USB operations.

According to our testing, delay introduced by original commit
is not long enough and in rare cases we still see issues described
by the aforementioned commit.

This patch increases delays introduced by original commit.
Having this patch applied we do not see those problems anymore.

Signed-off-by: Dmitry Fleytman <dmitry@daynix.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/usb/core/config.c
drivers/usb/core/hub.c

index ea15bcc..9e0c680 100644 (file)
@@ -830,7 +830,7 @@ int usb_get_configuration(struct usb_device *dev)
                }
 
                if (dev->quirks & USB_QUIRK_DELAY_INIT)
                }
 
                if (dev->quirks & USB_QUIRK_DELAY_INIT)
-                       msleep(100);
+                       msleep(200);
 
                result = usb_get_descriptor(dev, USB_DT_CONFIG, cfgno,
                    bigbuffer, length);
 
                result = usb_get_descriptor(dev, USB_DT_CONFIG, cfgno,
                    bigbuffer, length);
index 7c59466..18dcd1c 100644 (file)
@@ -3552,7 +3552,7 @@ static void hub_port_connect_change(struct usb_hub *hub, int port1,
 
                usb_detect_quirks(udev);
                if (udev->quirks & USB_QUIRK_DELAY_INIT)
 
                usb_detect_quirks(udev);
                if (udev->quirks & USB_QUIRK_DELAY_INIT)
-                       msleep(1000);
+                       msleep(2000);
 
                /* consecutive bus-powered hubs aren't reliable; they can
                 * violate the voltage drop budget.  if the new child has
 
                /* consecutive bus-powered hubs aren't reliable; they can
                 * violate the voltage drop budget.  if the new child has