diff --git a/drivers/usb/dwc3/dwc3-msm.c b/drivers/usb/dwc3/dwc3-msm.c index a75a04a5655f..790ebb19df4a 100644 --- a/drivers/usb/dwc3/dwc3-msm.c +++ b/drivers/usb/dwc3/dwc3-msm.c @@ -2175,6 +2175,8 @@ static int dwc3_msm_suspend(struct dwc3_msm *mdwc, bool hibernation) dev_dbg(mdwc->dev, "defer suspend with %d(msecs)\n", mdwc->lpm_to_suspend_delay); pm_wakeup_event(mdwc->dev, mdwc->lpm_to_suspend_delay); + } else { + pm_relax(mdwc->dev); } atomic_set(&dwc->in_lpm, 1); @@ -2216,6 +2218,8 @@ static int dwc3_msm_resume(struct dwc3_msm *mdwc) return 0; } + pm_stay_awake(mdwc->dev); + /* Enable bus voting */ if (mdwc->bus_perf_client) { mdwc->bus_vote = 1;