usb: xhci: fix timeout for transition from RExit to U0
Subsystems (2)
PATCH 5/6 usb: xhci: fix timeout for transition from RExit to U0
From: Aaron Ma <[email protected]>
This definition is used by msecs_to_jiffies in milliseconds. According to the comments, max rexit timeout should be 20ms. Align with the comments to properly calculate the delay.
Verified on Sunrise Point-LP and Cannon Lake.
Signed-off-by Aaron Ma <[email protected]>
Signed-off-by Mathias Nyman <[email protected]>
--- drivers/usb/host/xhci-hub.c | 4 ++-- drivers/usb/host/xhci.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-)
drivers/usb/host/xhci-hub.c +2 -2
@@ -921,7 +921,7 @@ static u32 xhci_get_port_status(struct usb_hcd *hcd, time_left =wait_for_completion_timeout ( &bus_state->rexit_done[wIndex],msecs_to_jiffies ( -XHCI_MAX_REXIT_TIMEOUT )); +XHCI_MAX_REXIT_TIMEOUT_MS ));spin_lock_irqsave (&xhci->lock, flags);if (time_left) {
@@ -935,7 +935,7 @@ static u32 xhci_get_port_status(struct usb_hcd *hcd, }else {int port_status =readl (port->addr);xhci_warn (xhci,"Port resume took longer than %i msec, port status = 0x%x\n" , -XHCI_MAX_REXIT_TIMEOUT , +XHCI_MAX_REXIT_TIMEOUT_MS , port_status); status |=USB_PORT_STAT_SUSPEND ;clear_bit (wIndex, &bus_state->rexit_ports);
drivers/usb/host/xhci.h +1 -1
@@ -1680,7 +1680,7 @@ struct xhci_bus_state {* It can take up to 20 ms to transition from RExit to U0 on the * Intel Lynx Point LP xHCI host. */ -#define XHCI_MAX_REXIT_TIMEOUT (20 * 1000) +#define XHCI_MAX_REXIT_TIMEOUT_MS 20static inline unsigned int hcd_index (struct usb_hcd *hcd) {