diff --git a/drivers/usb/host/ehci-hub.c b/drivers/usb/host/ehci-hub.c index 7919a411d5f954be8d5111fb1961fdeaf61db9b9..ccd88ae011c63e924d1edd22f80d692595ee85a7 100644 --- a/drivers/usb/host/ehci-hub.c +++ b/drivers/usb/host/ehci-hub.c @@ -172,6 +172,10 @@ static int ehci_bus_suspend (struct usb_hcd *hcd) } } + /* Apparently some devices need a >= 1-uframe delay here */ + if (ehci->bus_suspended) + udelay(150); + /* turn off now-idle HC */ ehci_halt (ehci); hcd->state = HC_STATE_SUSPENDED;