diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2018-07-11 07:09:23 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2018-07-11 07:09:22 -0700 |
| commit | 324c1ad8e85bad922d2897300fea91dcd5547c07 (patch) | |
| tree | f19310e8dfe53e783a38289d03fcef455c2b34d1 /drivers/usb | |
| parent | 52d99c3422b8ca7e3d32be85023355b4b7ccb99b (diff) | |
| parent | 07cc3a041ec1ce9c1044c782f4d2c73a6e435696 (diff) | |
Merge "usb: dwc3-msm: Enable PHY IRQ wakeup only for non-auto targets"
Diffstat (limited to 'drivers/usb')
| -rw-r--r-- | drivers/usb/dwc3/dwc3-msm.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/usb/dwc3/dwc3-msm.c b/drivers/usb/dwc3/dwc3-msm.c index f94d0ba2f966..4f8b0fb6d670 100644 --- a/drivers/usb/dwc3/dwc3-msm.c +++ b/drivers/usb/dwc3/dwc3-msm.c @@ -2162,10 +2162,12 @@ static int dwc3_msm_suspend(struct dwc3_msm *mdwc, bool hibernation) * case of host bus suspend and device bus suspend. */ if (mdwc->vbus_active || mdwc->in_host_mode) { - enable_irq_wake(mdwc->hs_phy_irq); + if (!mdwc->no_wakeup_src_in_hostmode) + enable_irq_wake(mdwc->hs_phy_irq); enable_irq(mdwc->hs_phy_irq); if (mdwc->ss_phy_irq) { - enable_irq_wake(mdwc->ss_phy_irq); + if (!mdwc->no_wakeup_src_in_hostmode) + enable_irq_wake(mdwc->ss_phy_irq); enable_irq(mdwc->ss_phy_irq); } mdwc->lpm_flags |= MDWC3_ASYNC_IRQ_WAKE_CAPABILITY; @@ -2287,10 +2289,12 @@ static int dwc3_msm_resume(struct dwc3_msm *mdwc) /* Disable wakeup capable for HS_PHY IRQ & SS_PHY_IRQ if enabled */ if (mdwc->lpm_flags & MDWC3_ASYNC_IRQ_WAKE_CAPABILITY) { - disable_irq_wake(mdwc->hs_phy_irq); + if (!mdwc->no_wakeup_src_in_hostmode) + disable_irq_wake(mdwc->hs_phy_irq); disable_irq_nosync(mdwc->hs_phy_irq); if (mdwc->ss_phy_irq) { - disable_irq_wake(mdwc->ss_phy_irq); + if (!mdwc->no_wakeup_src_in_hostmode) + disable_irq_wake(mdwc->ss_phy_irq); disable_irq_nosync(mdwc->ss_phy_irq); } mdwc->lpm_flags &= ~MDWC3_ASYNC_IRQ_WAKE_CAPABILITY; |
