ChangeSet 1.1595.7.35, 2003/07/31 22:52:18-07:00, david-b@pacbell.net

[PATCH] USB: usb root hubs need longer timeout

Root hubs should use 50 msec timeouts, not 10 msec.  This will
if nothing else eliminate some messages when using EHCI, which
insists on the whole timeout!


 drivers/usb/core/hub.c |    7 +++++++
 1 files changed, 7 insertions(+)


diff -Nru a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
--- a/drivers/usb/core/hub.c	Fri Aug  1 10:53:43 2003
+++ b/drivers/usb/core/hub.c	Fri Aug  1 10:53:43 2003
@@ -708,6 +708,7 @@
 
 #define HUB_RESET_TRIES		5
 #define HUB_PROBE_TRIES		2
+#define HUB_ROOT_RESET_TIME	50	/* times are in msec */
 #define HUB_SHORT_RESET_TIME	10
 #define HUB_LONG_RESET_TIME	200
 #define HUB_RESET_TIMEOUT	500
@@ -902,6 +903,12 @@
 		hub_port_disable(hub, port);
 		return;
 	}
+
+	/* root hub ports have a slightly longer reset period
+	 * (from USB 2.0 spec, section 7.1.7.5)
+	 */
+	if (!hub->parent)
+		delay = HUB_ROOT_RESET_TIME;
 
 	/* Some low speed devices have problems with the quick delay, so */
 	/*  be a bit pessimistic with those devices. RHbug #23670 */
