diff options
Diffstat (limited to 'drivers/usb/host/ohci-hub.c')
| -rw-r--r-- | drivers/usb/host/ohci-hub.c | 7 | 
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/usb/host/ohci-hub.c b/drivers/usb/host/ohci-hub.c index 4dd39022c38..cddcda95b57 100644 --- a/drivers/usb/host/ohci-hub.c +++ b/drivers/usb/host/ohci-hub.c @@ -355,6 +355,11 @@ static void ohci_finish_controller_resume(struct usb_hcd *hcd)  		ohci_readl(ohci, &ohci->regs->intrenable);  		msleep(20);  	} + +	/* Does the root hub have a port wakeup pending? */ +	if (ohci_readl(ohci, &ohci->regs->intrstatus) & +			(OHCI_INTR_RD | OHCI_INTR_RHSC)) +		usb_hcd_resume_root_hub(hcd);  }  /* Carry out polling-, autostop-, and autoresume-related state changes */ @@ -364,7 +369,7 @@ static int ohci_root_hub_state_changes(struct ohci_hcd *ohci, int changed,  	int	poll_rh = 1;  	int	rhsc_enable; -	/* Some broken controllers never turn off RHCS in the interrupt +	/* Some broken controllers never turn off RHSC in the interrupt  	 * status register.  For their sake we won't re-enable RHSC  	 * interrupts if the interrupt bit is already active.  	 */  |