diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c index e1952fb8473c7158dabc5378d9cad43100b84043..cfb2f73b4ccabc31b4637a64c3543472a61db24b 100644 --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c @@ -4386,6 +4386,9 @@ static int xhci_set_usb2_hardware_lpm(struct usb_hcd *hcd, mutex_lock(hcd->bandwidth_mutex); xhci_change_max_exit_latency(xhci, udev, 0); mutex_unlock(hcd->bandwidth_mutex); + readl_poll_timeout(ports[port_num]->addr, pm_val, + (pm_val & PORT_PLS_MASK) == XDEV_U0, + 100, 10000); return 0; } }