Pending bits in IRQSTATUS can prevent the system from hitting retention. The PRCM interrupt handler takes care of clearing the IRQSTATUS bits, but any pending bits before first suspend or idle may prevent the system from hitting retention. Ensure they are cleared during PRCM setup. Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxxxxxxxxxxx> --- Applies to current PM branch. arch/arm/mach-omap2/pm34xx.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c index 7a561db..d7b6596 100644 --- a/arch/arm/mach-omap2/pm34xx.c +++ b/arch/arm/mach-omap2/pm34xx.c @@ -854,6 +854,9 @@ static void __init prcm_setup_regs(void) prm_write_mod_reg(OMAP3430_IO_EN | OMAP3430_WKUP_EN, OCP_MOD, OMAP2_PRM_IRQENABLE_MPU_OFFSET); + /* Clear any pending PRCM interrupts */ + prm_write_mod_reg(0, OCP_MOD, OMAP2_PRM_IRQSTATUS_MPU_OFFSET); + omap3_iva_idle(); } -- 1.6.2.2 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html