On Tue, 9 Jul 2013, Roger Quadros wrote: > Set the ehci->resuming flag for the port we receive a remote > wakeup on so that resume signalling can be completed. > > Without this, the root hub timer will not fire again to check > if the resume was completed and there will be a never-ending wait on > on the port. > > This effect is only observed if the HUB IRQ IN does not come after we > have initiated the port resume. > > Signed-off-by: Roger Quadros <rogerq@xxxxxx> > --- > drivers/usb/host/ehci-hub.c | 1 + > 1 files changed, 1 insertions(+), 0 deletions(-) > > diff --git a/drivers/usb/host/ehci-hub.c b/drivers/usb/host/ehci-hub.c > index 9ab4a4d..ca6289b 100644 > --- a/drivers/usb/host/ehci-hub.c > +++ b/drivers/usb/host/ehci-hub.c > @@ -858,6 +858,7 @@ static int ehci_hub_control ( > ehci->reset_done[wIndex] = jiffies > + msecs_to_jiffies(20); > usb_hcd_start_port_resume(&hcd->self, wIndex); > + set_bit(wIndex, &ehci->resuming_ports); > /* check the port again */ > mod_timer(&ehci_to_hcd(ehci)->rh_timer, > ehci->reset_done[wIndex]); Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html