From: Baolin Wang Date: Mon, 20 Jun 2016 08:19:48 +0000 (+0800) Subject: UPSTREAM: usb: dwc3: gadget: Add the suspend state checking when stopping gadget X-Git-Tag: firefly_0821_release~1774 X-Git-Url: http://plrg.eecs.uci.edu/git/?p=firefly-linux-kernel-4.4.55.git;a=commitdiff_plain;h=60a24e9f08d5c3758f604a26fff7096ffd4c0fcd UPSTREAM: usb: dwc3: gadget: Add the suspend state checking when stopping gadget 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. Change-Id: I1a49d4c52131ef4b4357d4a12b5da55e8127d750 Signed-off-by: Baolin Wang Signed-off-by: Felipe Balbi Signed-off-by: Wu Liang feng (cherry picked from commit da1410be21bfedd16740aee6d772e669cf4e852f) --- diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index fd37110ad6e3..5f29061faa97 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -1807,6 +1807,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]);