usb: dwc2: host: resume root hub on port connect
authorGregory Herrero <gregory.herrero@intel.com>
Wed, 29 Apr 2015 20:09:14 +0000 (22:09 +0200)
committerFelipe Balbi <balbi@ti.com>
Wed, 29 Apr 2015 20:19:50 +0000 (15:19 -0500)
Once hub is runtime suspended, dwc2 must resume it
on port connect event.
Else, roothub will stay in suspended state and will
not resume transfers.

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_intr.c

index 551ba878b003c99a469a4cfa2421c2a1151ad184..6927bba86245844748e57e8d517bb3c2764d8763 100644 (file)
@@ -350,6 +350,9 @@ static void dwc2_port_intr(struct dwc2_hsotg *hsotg)
                dev_vdbg(hsotg->dev,
                         "--Port Interrupt HPRT0=0x%08x Port Connect Detected--\n",
                         hprt0);
+               if (hsotg->lx_state != DWC2_L0)
+                       usb_hcd_resume_root_hub(hsotg->priv);
+
                hsotg->flags.b.port_connect_status_change = 1;
                hsotg->flags.b.port_connect_status = 1;
                hprt0_modify |= HPRT0_CONNDET;