diff options
-rw-r--r-- | drivers/usb/host/ehci-hub.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/usb/host/ehci-hub.c b/drivers/usb/host/ehci-hub.c index 6dce37555c4f..6d0e59306ed9 100644 --- a/drivers/usb/host/ehci-hub.c +++ b/drivers/usb/host/ehci-hub.c | |||
@@ -801,6 +801,8 @@ static int ehci_hub_control ( | |||
801 | ehci_writel(ehci, temp | PORT_RESUME, status_reg); | 801 | ehci_writel(ehci, temp | PORT_RESUME, status_reg); |
802 | ehci->reset_done[wIndex] = jiffies | 802 | ehci->reset_done[wIndex] = jiffies |
803 | + msecs_to_jiffies(20); | 803 | + msecs_to_jiffies(20); |
804 | set_bit(wIndex, &ehci->resuming_ports); | ||
805 | usb_hcd_start_port_resume(&hcd->self, wIndex); | ||
804 | break; | 806 | break; |
805 | case USB_PORT_FEAT_C_SUSPEND: | 807 | case USB_PORT_FEAT_C_SUSPEND: |
806 | clear_bit(wIndex, &ehci->port_c_suspend); | 808 | clear_bit(wIndex, &ehci->port_c_suspend); |
@@ -911,7 +913,6 @@ static int ehci_hub_control ( | |||
911 | ehci->reset_done[wIndex])) { | 913 | ehci->reset_done[wIndex])) { |
912 | status |= USB_PORT_STAT_C_RESET << 16; | 914 | status |= USB_PORT_STAT_C_RESET << 16; |
913 | ehci->reset_done [wIndex] = 0; | 915 | ehci->reset_done [wIndex] = 0; |
914 | clear_bit(wIndex, &ehci->resuming_ports); | ||
915 | 916 | ||
916 | /* force reset to complete */ | 917 | /* force reset to complete */ |
917 | ehci_writel(ehci, temp & ~(PORT_RWC_BITS | PORT_RESET), | 918 | ehci_writel(ehci, temp & ~(PORT_RWC_BITS | PORT_RESET), |