diff options
author | weitaowang-oc@zhaoxin.com <weitaowang-oc@zhaoxin.com> | 2020-08-09 14:22:23 +0000 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2020-09-30 12:52:57 +0200 |
commit | 849c5e50b6f474df6cc113130575bcdccfafcd9e (patch) | |
tree | f2dab20b5ed1057201eeb7627f264e9ea7c7c5c5 | |
parent | 41289b83ed3847dc45e7af3f1b7cb3cec6b6e7a5 (diff) | |
download | seabios-849c5e50b6f474df6cc113130575bcdccfafcd9e.tar.gz |
USB:Fix xHCI initail fail by using longer reset and CNR clear timeout value
Some xHCI controller's reset time than 100ms,such as 120ms.
On the on hand, xHCI spec has not specified a timeout value.
Maybe setting xHCI HCRST and CNR bit clear timeout value larger
is a nice thing.As a compromise between compatibility and
latency,we can take 1000ms as a timeout value.
Signed-off-by: WeitaoWangoc <WeitaoWang-oc@zhaoxin.com>
Message-Id: <159698294308.14.13067234241650533818@b63950293ec5>
-rw-r--r-- | src/hw/usb-xhci.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/hw/usb-xhci.c b/src/hw/usb-xhci.c index 08d1e321..21d091f2 100644 --- a/src/hw/usb-xhci.c +++ b/src/hw/usb-xhci.c @@ -467,9 +467,9 @@ configure_xhci(void *data) dprintf(3, "%s: resetting\n", __func__); writel(&xhci->op->usbcmd, XHCI_CMD_HCRST); - if (wait_bit(&xhci->op->usbcmd, XHCI_CMD_HCRST, 0, 100) != 0) + if (wait_bit(&xhci->op->usbcmd, XHCI_CMD_HCRST, 0, 1000) != 0) goto fail; - if (wait_bit(&xhci->op->usbsts, XHCI_STS_CNR, 0, 100) != 0) + if (wait_bit(&xhci->op->usbsts, XHCI_STS_CNR, 0, 1000) != 0) goto fail; writel(&xhci->op->config, xhci->slots); |