usb: dwc3: fix PM resume error for rockchip platforms
[firefly-linux-kernel-4.4.55.git] / drivers / usb / dwc3 / core.c
index 96294d6458d55ae4bdaa50aceae68f0cf7aaaa88..19254eb77beb89f8eaae966b42fdc58098cc1bf4 100644 (file)
@@ -1247,6 +1247,9 @@ static int dwc3_suspend(struct device *dev)
        struct dwc3     *dwc = dev_get_drvdata(dev);
        int             ret;
 
+       if (pm_runtime_suspended(dwc->dev))
+               return 0;
+
        ret = dwc3_suspend_common(dwc);
        if (ret)
                return ret;
@@ -1261,6 +1264,9 @@ static int dwc3_resume(struct device *dev)
        struct dwc3     *dwc = dev_get_drvdata(dev);
        int             ret;
 
+       if (pm_runtime_suspended(dwc->dev))
+               return 0;
+
        pinctrl_pm_select_default_state(dev);
 
        ret = dwc3_resume_common(dwc);