diff options
Diffstat (limited to 'arch/arm/mach-omap2/pm44xx.c')
-rwxr-xr-x | arch/arm/mach-omap2/pm44xx.c | 11 |
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__, |