usb: dwc2: host: resume root hub on remote wakeup
authorGregory Herrero <gregory.herrero@intel.com>
Fri, 30 Jan 2015 08:09:26 +0000 (09:09 +0100)
committerFelipe Balbi <balbi@ti.com>
Fri, 30 Jan 2015 16:29:38 +0000 (10:29 -0600)
When a remote wakeup happens during bus_suspend, hcd needs to resume
its root hub.

Acked-by: John Youn <johnyoun@synopsys.com>
Signed-off-by: Gregory Herrero <gregory.herrero@intel.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/dwc2/hcd.c

index c3e66f0be02c7063c7759bb1780c974a8b6fd6c9..4a9bcdd5cb23090108b482530a7bcb87b01227ef 100644 (file)
@@ -316,10 +316,12 @@ void dwc2_hcd_disconnect(struct dwc2_hsotg *hsotg)
  */
 static void dwc2_hcd_rem_wakeup(struct dwc2_hsotg *hsotg)
 {
-       if (hsotg->lx_state == DWC2_L2)
+       if (hsotg->lx_state == DWC2_L2) {
                hsotg->flags.b.port_suspend_change = 1;
-       else
+               usb_hcd_resume_root_hub(hsotg->priv);
+       } else {
                hsotg->flags.b.port_l1_change = 1;
+       }
 }
 
 /**