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>
This commit is contained in:
committed by
Tony Lindgren
parent
5461af5af5
commit
0dc23d7048
@@ -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
|
||||||
|
Reference in New Issue
Block a user