2019-09-19 14:43:19 +00:00
|
|
|
From ff7222c0771a5e28666335663571058e560ad32b Mon Sep 17 00:00:00 2001
|
2019-07-09 18:32:28 +00:00
|
|
|
From: Tim Gover <tim.gover@raspberrypi.org>
|
|
|
|
Date: Fri, 22 Mar 2019 09:47:14 +0000
|
2019-12-23 12:42:55 +00:00
|
|
|
Subject: [PATCH] usb: xhci: Disable the XHCI 5 second timeout
|
2019-07-09 18:32:28 +00:00
|
|
|
|
|
|
|
If the VL805 EEPROM has not been programmed then boot will hang for five
|
|
|
|
seconds. The timeout seems to be arbitrary and is an unecessary
|
|
|
|
delay on the first boot. Remove the timeout.
|
|
|
|
|
|
|
|
This is common code and probably can't be upstreamed unless the timeout
|
|
|
|
can be configurable somehow or perhaps the XHCI driver can be skipped
|
|
|
|
on the first boot.
|
|
|
|
---
|
|
|
|
drivers/usb/host/xhci.c | 3 ++-
|
|
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
|
|
|
|
--- a/drivers/usb/host/xhci.c
|
|
|
|
+++ b/drivers/usb/host/xhci.c
|
|
|
|
@@ -196,8 +196,9 @@ int xhci_reset(struct xhci_hcd *xhci)
|
|
|
|
if (xhci->quirks & XHCI_INTEL_HOST)
|
|
|
|
udelay(1000);
|
|
|
|
|
|
|
|
+ // Hack: reduce handshake timeout from 10s 0.5s due to unprogrammed vl805
|
|
|
|
ret = xhci_handshake(&xhci->op_regs->command,
|
|
|
|
- CMD_RESET, 0, 10 * 1000 * 1000);
|
|
|
|
+ CMD_RESET, 0, 500 * 1000);
|
|
|
|
if (ret)
|
|
|
|
return ret;
|
|
|
|
|