diff --git a/drivers/usb/dwc3/dwc3-msm.c b/drivers/usb/dwc3/dwc3-msm.c index 15c994294c63..212f0532fb58 100644 --- a/drivers/usb/dwc3/dwc3-msm.c +++ b/drivers/usb/dwc3/dwc3-msm.c @@ -2023,15 +2023,6 @@ static int dwc3_msm_suspend(struct dwc3_msm *mdwc) enable_irq_wake(mdwc->ss_phy_irq); enable_irq(mdwc->ss_phy_irq); } - /* - * Enable power event irq during bus suspend in host mode for - * mapping MPM pin for DP so that wakeup can happen in system - * suspend. - */ - if (mdwc->in_host_mode) { - enable_irq(mdwc->pwr_event_irq); - enable_irq_wake(mdwc->pwr_event_irq); - } mdwc->lpm_flags |= MDWC3_ASYNC_IRQ_WAKE_CAPABILITY; } @@ -2137,6 +2128,9 @@ static int dwc3_msm_resume(struct dwc3_msm *mdwc) atomic_set(&dwc->in_lpm, 0); + /* enable power evt irq for IN P3 detection */ + enable_irq(mdwc->pwr_event_irq); + /* Disable HSPHY auto suspend */ dwc3_msm_write_reg(mdwc->base, DWC3_GUSB2PHYCFG(0), dwc3_msm_read_reg(mdwc->base, DWC3_GUSB2PHYCFG(0)) & @@ -2151,18 +2145,11 @@ static int dwc3_msm_resume(struct dwc3_msm *mdwc) disable_irq_wake(mdwc->ss_phy_irq); disable_irq_nosync(mdwc->ss_phy_irq); } - if (mdwc->in_host_mode) { - disable_irq_wake(mdwc->pwr_event_irq); - disable_irq(mdwc->pwr_event_irq); - } mdwc->lpm_flags &= ~MDWC3_ASYNC_IRQ_WAKE_CAPABILITY; } dev_info(mdwc->dev, "DWC3 exited from low power mode\n"); - /* enable power evt irq for IN P3 detection */ - enable_irq(mdwc->pwr_event_irq); - /* Enable core irq */ if (dwc->irq) enable_irq(dwc->irq);