diff options
Diffstat (limited to 'arch/arm/mach-tegra/baseband-xmm-power.c')
-rw-r--r-- | arch/arm/mach-tegra/baseband-xmm-power.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/baseband-xmm-power.c b/arch/arm/mach-tegra/baseband-xmm-power.c index 17801fe9c778..1bdaf8046390 100644 --- a/arch/arm/mach-tegra/baseband-xmm-power.c +++ b/arch/arm/mach-tegra/baseband-xmm-power.c @@ -450,7 +450,15 @@ irqreturn_t baseband_xmm_power_ipc_ap_wake_irq(int irq, void *dev_id) &autopm_resume_work); } } - baseband_xmm_set_power_status(BBXMM_PS_L0); + if ((baseband_xmm_powerstate == + BBXMM_PS_L2TOL0) || + (baseband_xmm_powerstate == + BBXMM_PS_L3TOL0)) + baseband_xmm_set_power_status( + BBXMM_PS_L0); + else + pr_info("%s:no state" + "change required\n", __func__); } /* save gpio state */ ipc_ap_wake_state = IPC_AP_WAKE_H; @@ -980,6 +988,7 @@ static int baseband_xmm_power_suspend_noirq(struct device *dev) if (wakeup_pending) { pr_info("%s:**Abort Suspend: reason CP WAKEUP**\n", __func__); wakeup_pending = false; + spin_unlock_irqrestore(&xmm_lock, flags); return -EBUSY; } spin_unlock_irqrestore(&xmm_lock, flags); |