]> Pileus Git - ~andy/linux/blobdiff - drivers/usb/host/ehci-hub.c
USB: EHCI: fix timer bug affecting port resume
[~andy/linux] / drivers / usb / host / ehci-hub.c
index f88be801d60c6186c59e555369e59e7ece9e3c36..4d3b294f203e3acefe469db340d695786b2ffc3f 100644 (file)
@@ -649,7 +649,11 @@ ehci_hub_status_data (struct usb_hcd *hcd, char *buf)
                        status = STS_PCD;
                }
        }
-       /* FIXME autosuspend idle root hubs */
+
+       /* If a resume is in progress, make sure it can finish */
+       if (ehci->resuming_ports)
+               mod_timer(&hcd->rh_timer, jiffies + msecs_to_jiffies(25));
+
        spin_unlock_irqrestore (&ehci->lock, flags);
        return status ? retval : 0;
 }