aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/pm44xx.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-omap2/pm44xx.c')
-rwxr-xr-xarch/arm/mach-omap2/pm44xx.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/arch/arm/mach-omap2/pm44xx.c b/arch/arm/mach-omap2/pm44xx.c
index 281d9ea..63e09a4 100755
--- a/arch/arm/mach-omap2/pm44xx.c
+++ b/arch/arm/mach-omap2/pm44xx.c
@@ -908,9 +908,16 @@ void omap_pm_clear_dsp_wake_up(void)
}
ret = pwrdm_read_pwrst(tesla_pwrdm);
- /* If Tesla power state in RET or OFF, then not hit by errata */
- if (ret <= PWRDM_POWER_RET)
+ /*
+ * If current Tesla power state is in RET/OFF and not in transition,
+ * then not hit by errata.
+ */
+ if (ret <= PWRDM_POWER_RET) {
+ if (!(omap4_prminst_read_inst_reg(tesla_pwrdm->prcm_partition,
+ tesla_pwrdm->prcm_offs, OMAP4_PM_PWSTST)
+ & OMAP_INTRANSITION_MASK))
return;
+ }
if (clkdm_wakeup(tesla_clkdm))
pr_err("%s: Failed to force wakeup of %s\n", __func__,