Commit 0dc23d70 authored by Kevin Hilman's avatar Kevin Hilman Committed by Tony Lindgren

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: default avatarKevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>



parent 5461af5a
...@@ -93,9 +93,8 @@ ENTRY(omap24xx_cpu_suspend) ...@@ -93,9 +93,8 @@ ENTRY(omap24xx_cpu_suspend)
orr r4, r4, #0x40 @ enable self refresh on idle req orr r4, r4, #0x40 @ enable self refresh on idle req
mov r5, #0x2000 @ set delay (DPLL relock + DLL relock) mov r5, #0x2000 @ set delay (DPLL relock + DLL relock)
str r4, [r2] @ make it so str r4, [r2] @ make it so
mov r2, #0
nop nop
mcr p15, 0, r2, c7, c0, 4 @ wait for interrupt mcr p15, 0, r3, c7, c0, 4 @ wait for interrupt
nop nop
loop: loop:
subs r5, r5, #0x1 @ awake, wait just a bit subs r5, r5, #0x1 @ awake, wait just a bit
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment