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