usb: dwc3: gadget: Add the suspend state checking when stopping gadget
authorBaolin Wang <baolin.wang@linaro.org>
Mon, 20 Jun 2016 08:19:48 +0000 (16:19 +0800)
committerFelipe Balbi <felipe.balbi@linux.intel.com>
Tue, 21 Jun 2016 07:44:37 +0000 (10:44 +0300)
It will be crash to stop gadget when the dwc3 device had been into suspend
state, thus we need to check if the dwc3 device had been into suspend state
when UDC try to stop gadget.

Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/dwc3/gadget.c

index b1fec36f4764a5b200be1dc0f37d1171b987c584..b9bc646511ce445266b16dcbf5eb49865a19fb08 100644 (file)
@@ -1803,6 +1803,9 @@ err0:
 
 static void __dwc3_gadget_stop(struct dwc3 *dwc)
 {
+       if (pm_runtime_suspended(dwc->dev))
+               return;
+
        dwc3_gadget_disable_irq(dwc);
        __dwc3_gadget_ep_disable(dwc->eps[0]);
        __dwc3_gadget_ep_disable(dwc->eps[1]);