diff --git a/drivers/usb/dwc3/dwc3-rockchip.c b/drivers/usb/dwc3/dwc3-rockchip.c index afdb6cb1f437..db482d37df56 100644 --- a/drivers/usb/dwc3/dwc3-rockchip.c +++ b/drivers/usb/dwc3/dwc3-rockchip.c @@ -969,9 +969,11 @@ static int __maybe_unused dwc3_rockchip_resume(struct device *dev) struct dwc3_rockchip *rockchip = dev_get_drvdata(dev); struct dwc3 *dwc = rockchip->dwc; - reset_control_assert(rockchip->otg_rst); - udelay(1); - reset_control_deassert(rockchip->otg_rst); + if (!rockchip->connected) { + reset_control_assert(rockchip->otg_rst); + udelay(1); + reset_control_deassert(rockchip->otg_rst); + } rockchip->suspended = false;