diff --git a/drivers/usb/dwc2/gadget.c b/drivers/usb/dwc2/gadget.c index 4bb73a06d8e5..cf988d8b83e0 100644 --- a/drivers/usb/dwc2/gadget.c +++ b/drivers/usb/dwc2/gadget.c @@ -3469,7 +3469,7 @@ static int dwc2_hsotg_udc_start(struct usb_gadget *gadget, goto err; } - if (hsotg->dr_mode == USB_DR_MODE_OTG) { + if (hsotg->dr_mode == USB_DR_MODE_OTG && dwc2_is_device_mode(hsotg)) { struct platform_device *pdev = to_platform_device(hsotg->dev); if (hsotg->uphy) { @@ -3546,7 +3546,7 @@ static int dwc2_hsotg_udc_stop(struct usb_gadget *gadget) if (hsotg->dr_mode == USB_DR_MODE_PERIPHERAL) dwc2_lowlevel_hw_disable(hsotg); - if (hsotg->dr_mode == USB_DR_MODE_OTG) { + if (hsotg->dr_mode == USB_DR_MODE_OTG && dwc2_is_device_mode(hsotg)) { struct platform_device *pdev = to_platform_device(hsotg->dev); if (hsotg->uphy) { diff --git a/drivers/usb/dwc2/platform.c b/drivers/usb/dwc2/platform.c index 0805f39ecf85..a56267141873 100644 --- a/drivers/usb/dwc2/platform.c +++ b/drivers/usb/dwc2/platform.c @@ -662,7 +662,7 @@ static int dwc2_driver_probe(struct platform_device *dev) if (hsotg->dr_mode == USB_DR_MODE_PERIPHERAL) dwc2_lowlevel_hw_disable(hsotg); - if (hsotg->dr_mode == USB_DR_MODE_OTG) { + if (hsotg->dr_mode == USB_DR_MODE_OTG && dwc2_is_device_mode(hsotg)) { struct platform_device *pdev = to_platform_device(hsotg->dev); if (hsotg->uphy) {