]> pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
[PATCH] ARM: OMAP: omap_pm_idle interrupt race?
authorTodd Poynor <tpoynor@mvista.com>
Fri, 1 Jul 2005 18:36:36 +0000 (11:36 -0700)
committerTony Lindgren <tony@atomide.com>
Fri, 1 Jul 2005 18:36:36 +0000 (11:36 -0700)
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 <tpoynor@mvista.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap/pm.c

index 3aab70bbe8f971ea723b8738c6b7e128a45baf8f..e234fde417200d30dc45b6f4ce3d94ca27608218 100644 (file)
@@ -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();
 }
 
 /*