Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f74b9dbc authored by Ajay Agarwal's avatar Ajay Agarwal Committed by Gerrit - the friendly Code Review server
Browse files

usb: dwc3-msm: Disable PHY wakeup IRQs on hibernation



There might be spurious HS PHY IRQ after USB bus has gone into
hibernation which leads to dwc3_msm_resume and in_lpm flag
getting cleared. Next when the restore from hibernation happens,
dwc3_msm_resume becomes a no-op but in reality, the HW resources
are all turned off. This leads to an unclocked access from
xhci_resume.
Fix this by disabling PHY wakeup IRQs on hibernation/pm_suspend
for automotive targets.

Change-Id: I753fb3593fca31f12406b9126f73f75520dab1b0
Signed-off-by: default avatarAjay Agarwal <ajaya@codeaurora.org>
parent aa860b5b
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -2965,11 +2965,11 @@ static int dwc3_msm_suspend(struct dwc3_msm *mdwc, bool force_power_collapse)
	atomic_set(&dwc->in_lpm, 1);

	/*
	 * with DCP or during cable disconnect, we dont require wakeup
	 * with the core in power collapse, we dont require wakeup
	 * using HS_PHY_IRQ or SS_PHY_IRQ. Hence enable wakeup only in
	 * case of host bus suspend and device bus suspend.
	 */
	if (mdwc->in_device_mode || mdwc->in_host_mode) {
	if (!(mdwc->lpm_flags & MDWC3_POWER_COLLAPSE)) {
		if (mdwc->use_pdc_interrupts) {
			enable_usb_pdc_interrupt(mdwc, true);
		} else {