If softconnect is not set it means the controller has not started, so no point in stopping it in dwc3_gadget_suspend() Cc: stable@xxxxxxxxxxxxxxx # 5.16 Fixes: 8217f07a5023 ("usb: dwc3: gadget: Avoid starting DWC3 gadget during UDC unbind") Signed-off-by: Roger Quadros <rogerq@xxxxxxxxxx> --- 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); -- 2.34.1