usb: dwc2: gadget: ignore pm suspend/resume in L2
authorGregory Herrero <gregory.herrero@intel.com>
Wed, 29 Apr 2015 20:09:07 +0000 (22:09 +0200)
committerFelipe Balbi <balbi@ti.com>
Wed, 29 Apr 2015 20:19:14 +0000 (15:19 -0500)
Nothing to be done in pm suspend/resume when controller is in L2.
Don't disconnect or reset. State is already saved when putting
controller in hibernation and will be restored on USB bus resume.

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/gadget.c

index f867e954764fbc3b0540f7e76fb9c8dc17fe45f8..a360f49d3fd0275c66f1be1212a6ae960d2e0bc0 100644 (file)
@@ -3672,6 +3672,9 @@ int s3c_hsotg_suspend(struct dwc2_hsotg *hsotg)
        unsigned long flags;
        int ret = 0;
 
+       if (hsotg->lx_state != DWC2_L0)
+               return ret;
+
        mutex_lock(&hsotg->init_mutex);
 
        if (hsotg->driver) {
@@ -3712,6 +3715,9 @@ int s3c_hsotg_resume(struct dwc2_hsotg *hsotg)
        unsigned long flags;
        int ret = 0;
 
+       if (hsotg->lx_state == DWC2_L2)
+               return ret;
+
        mutex_lock(&hsotg->init_mutex);
 
        if (hsotg->driver) {