Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750923AbdIEIls (ORCPT ); Tue, 5 Sep 2017 04:41:48 -0400 Received: from mail-wr0-f193.google.com ([209.85.128.193]:34526 "EHLO mail-wr0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750782AbdIEIlq (ORCPT ); Tue, 5 Sep 2017 04:41:46 -0400 X-Google-Smtp-Source: ADKCNb4PtwKoBA17ETlNRiHHl3/6St7bD1Agr7hh96ucDhVzFjrctdtz9pTdoErhGkZmiryRTYoi9A== From: Dmitry Fleytman Cc: Dmitry Fleytman , Greg Kroah-Hartman , Alan Stern , Samuel Thibault , Guenter Roeck , Mathias Nyman , Johan Hovold , Geert Uytterhoeven , Eugene Korenevsky , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] usb: Increase quirk delay for USB devices Date: Tue, 5 Sep 2017 11:40:56 +0300 Message-Id: <20170905084059.28816-1-dmitry@daynix.com> X-Mailer: git-send-email 2.13.5 To: unlisted-recipients:; (no To-header on input) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1559 Lines: 47 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 --- drivers/usb/core/config.c | 2 +- drivers/usb/core/hub.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/usb/core/config.c b/drivers/usb/core/config.c index 4be52c6..854c8d6 100644 --- a/drivers/usb/core/config.c +++ b/drivers/usb/core/config.c @@ -852,7 +852,7 @@ int usb_get_configuration(struct usb_device *dev) } if (dev->quirks & USB_QUIRK_DELAY_INIT) - msleep(100); + msleep(200); result = usb_get_descriptor(dev, USB_DT_CONFIG, cfgno, bigbuffer, length); diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c index 822f8c5..78c2aca 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c @@ -4825,7 +4825,7 @@ static void hub_port_connect(struct usb_hub *hub, int port1, u16 portstatus, goto loop; 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 -- 2.7.4