From: Todd Poynor Date: Fri, 1 Jul 2005 18:36:36 +0000 (-0700) Subject: [PATCH] ARM: OMAP: omap_pm_idle interrupt race? X-Git-Tag: v2.6.13-omap1~77 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=6ca21f2a7b225e26039e63c310da6e17a37694f9;p=linux-2.6-omap-h63xx.git [PATCH] ARM: OMAP: omap_pm_idle interrupt race? Move OMAP pm_idle interrupt reenable until after the next interrupt has arrived, avoid situation where multiple interrupts are needed to exit idle. Signed-off-by: Todd Poynor Signed-off-by: Tony Lindgren --- diff --git a/arch/arm/mach-omap/pm.c b/arch/arm/mach-omap/pm.c index 3aab70bbe8f..e234fde4172 100644 --- a/arch/arm/mach-omap/pm.c +++ b/arch/arm/mach-omap/pm.c @@ -89,8 +89,6 @@ void omap_pm_idle(void) return; } mask32 = omap_readl(ARM_SYSST); - local_fiq_enable(); - local_irq_enable(); #if defined(CONFIG_OMAP_32K_TIMER) && defined(CONFIG_NO_IDLE_HZ) timer_dyn_reprogram(); @@ -107,6 +105,9 @@ void omap_pm_idle(void) __asm__ volatile ("mcr p15, 0, r0, c7, c0, 4"); } else omap_sram_idle(); + + local_fiq_enable(); + local_irq_enable(); } /*