summaryrefslogtreecommitdiffstats
path: root/drivers/usb/core
diff options
context:
space:
mode:
authorChristian Eggers <ceggers@arri.de>2020-03-09 15:20:26 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2020-03-11 16:03:14 +0100
commit7b7dc85df9cd251d27e4d2d0a7954c34486d21df (patch)
tree014f0522a8e0cdcbfa5550aa3d1c61a055b5cdab /drivers/usb/core
parentddd02210d20a7402fea51b9271e82cb5330cbb46 (diff)
downloadbarebox-7b7dc85df9cd251d27e4d2d0a7954c34486d21df.tar.gz
barebox-7b7dc85df9cd251d27e4d2d0a7954c34486d21df.tar.xz
usb: Add extra delay for device scan
Since b1d9837182, detection of various USB flash drives stopped working. While the changes itself look correct, probably the HUB requires some "recovery time" between the GET_STATUS commands in order to be able to detect devices. Our configuration: i.MX6ULL (USB-OTG) with only one port on the root HUB. This port is connected to a Microchip USB4916 hub (permanently attached). The USB4916 is configured with it's power on defaults which means that bPwrOn2PwrGood is set to the maximum (0xFF = 510 ms). Fixes: b1d9837182 ("usb: Change power-on / scanning timeout handling") Signed-off-by: Christian Eggers <ceggers@arri.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/usb/core')
-rw-r--r--drivers/usb/core/hub.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index 8874775f17..466bbe527b 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -406,6 +406,9 @@ static int usb_device_list_scan(void)
if (ret)
goto out;
}
+
+ /* Avoid hammering the HUB with port scans */
+ mdelay(25);
}
out: