diff options
Diffstat (limited to 'drivers/usb/chipidea/host.c')
-rw-r--r-- | drivers/usb/chipidea/host.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/usb/chipidea/host.c b/drivers/usb/chipidea/host.c index 80af4c22aaf9..279bc8b97242 100644 --- a/drivers/usb/chipidea/host.c +++ b/drivers/usb/chipidea/host.c @@ -508,7 +508,8 @@ static int ci_ehci_bus_suspend(struct usb_hcd *hcd) * If a transaction is in progress, there may be a delay in * suspending the port. Poll until the port is suspended. */ - if (ehci_handshake(ehci, reg, PORT_SUSPEND, + if (test_bit(port, &ehci->bus_suspended) && + ehci_handshake(ehci, reg, PORT_SUSPEND, PORT_SUSPEND, 5000)) ehci_err(ehci, "timeout waiting for SUSPEND\n"); |