diff options
author | Tero Kristo <tero.kristo@nokia.com> | 2009-10-23 20:03:48 +0400 |
---|---|---|
committer | Kevin Hilman <khilman@deeprootsystems.com> | 2010-01-21 05:15:58 +0300 |
commit | 2bbe3af3f1e1c1d0992c984e05d061ef5469edb4 (patch) | |
tree | df2f0e2ef2561930d277d0923dd15012046646ff /arch/arm/mach-omap2 | |
parent | 7284ce6c9f6153d1777df5f310c959724d1bd446 (diff) | |
download | linux-2bbe3af3f1e1c1d0992c984e05d061ef5469edb4.tar.xz |
OMAP3: PM: Ack pending interrupts before entering suspend
Suspending drivers may still generate interrupts just before their suspend is
completed. Any pending interrupts here will prevent sleep.
Signed-off-by: Tero Kristo <tero.kristo@nokia.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Diffstat (limited to 'arch/arm/mach-omap2')
-rw-r--r-- | arch/arm/mach-omap2/irq.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-omap2/pm34xx.c | 2 |
2 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/irq.c b/arch/arm/mach-omap2/irq.c index e9bc782fa414..54c5f0dcd663 100644 --- a/arch/arm/mach-omap2/irq.c +++ b/arch/arm/mach-omap2/irq.c @@ -274,4 +274,10 @@ void omap_intc_restore_context(void) } /* MIRs are saved and restore with other PRCM registers */ } + +void omap3_intc_suspend(void) +{ + /* A pending interrupt would prevent OMAP from entering suspend */ + omap_ack_irq(0); +} #endif /* CONFIG_ARCH_OMAP3 */ diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c index c6cc809afb79..b26418d55076 100644 --- a/arch/arm/mach-omap2/pm34xx.c +++ b/arch/arm/mach-omap2/pm34xx.c @@ -578,6 +578,8 @@ static int omap3_pm_suspend(void) } omap_uart_prepare_suspend(); + omap3_intc_suspend(); + omap_sram_idle(); restore: |