diff options
author | Kevin Hilman <khilman@deeprootsystems.com> | 2009-01-29 08:57:18 -0800 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2009-01-29 09:27:00 -0800 |
commit | 0dc23d704874e892c3fb5f2c0e4dfbef3c9c6edf (patch) | |
tree | d60ee6b4945ea88296ce8813dfc6a9127961a164 | |
parent | 5461af5af5c6a7fee78978aafe720541bf3a2f55 (diff) | |
download | linux-0dc23d704874e892c3fb5f2c0e4dfbef3c9c6edf.tar.bz2 |
ARM: OMAP: fix fault in enter_full_retention()
In omap24xx_cpu_suspend assembly routine, the r2 register which holds
the address of the SDRC_POWER reg is set to zero before the value is
written back triggering a fault due to writing to address zero.
It's hard to tell where this change was introduced since this file
has been moved and merged.
While this fix prevents a crash, suspend on my n810 is broken with
current kernels. I never come out of suspend.
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
-rw-r--r-- | arch/arm/mach-omap2/sleep24xx.S | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/arm/mach-omap2/sleep24xx.S b/arch/arm/mach-omap2/sleep24xx.S index 43336b93b21c..bf9e96105e11 100644 --- a/arch/arm/mach-omap2/sleep24xx.S +++ b/arch/arm/mach-omap2/sleep24xx.S @@ -93,9 +93,8 @@ ENTRY(omap24xx_cpu_suspend) orr r4, r4, #0x40 @ enable self refresh on idle req mov r5, #0x2000 @ set delay (DPLL relock + DLL relock) str r4, [r2] @ make it so - mov r2, #0 nop - mcr p15, 0, r2, c7, c0, 4 @ wait for interrupt + mcr p15, 0, r3, c7, c0, 4 @ wait for interrupt nop loop: subs r5, r5, #0x1 @ awake, wait just a bit |