If softconnect is not set it means the controller has not started, so no point in stopping it in dwc3_gadget_suspend()
Cc: stable@vger.kernel.org # 5.16 Fixes: 8217f07a5023 ("usb: dwc3: gadget: Avoid starting DWC3 gadget during UDC unbind") Signed-off-by: Roger Quadros rogerq@kernel.org --- drivers/usb/dwc3/gadget.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index c0ca4d12f95d..b5170374cd18 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -4656,7 +4656,7 @@ int dwc3_gadget_suspend(struct dwc3 *dwc) { unsigned long flags;
- if (!dwc->gadget_driver) + if (!dwc->gadget_driver || !dwc->softconnect) return 0;
dwc3_gadget_run_stop(dwc, false);