diff --git a/drivers/usb/dwc3/drd.c b/drivers/usb/dwc3/drd.c index ae776dcb2f5b..8e26fbbdc6ff 100644 --- a/drivers/usb/dwc3/drd.c +++ b/drivers/usb/dwc3/drd.c @@ -604,6 +604,6 @@ void dwc3_drd_exit(struct dwc3 *dwc) break; } - if (!dwc->edev) + if (!dwc->edev && !dwc->role_switch) free_irq(dwc->otg_irq, dwc); }