summaryrefslogtreecommitdiff
path: root/arch/arm/cpu/arm1136/start.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/cpu/arm1136/start.S')
-rw-r--r--arch/arm/cpu/arm1136/start.S3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/cpu/arm1136/start.S b/arch/arm/cpu/arm1136/start.S
index ad24b80..ccea2d5 100644
--- a/arch/arm/cpu/arm1136/start.S
+++ b/arch/arm/cpu/arm1136/start.S
@@ -388,8 +388,9 @@ cpu_init_crit:
str r0, [r13] @ save R0's value.
ldr r0, IRQ_STACK_START_IN @ get data regions start
str lr, [r0] @ save caller lr in position 0 of saved stack
- mrs r0, spsr @ get the spsr
+ mrs lr, spsr @ get the spsr
str lr, [r0, #4] @ save spsr in position 1 of saved stack
+ ldr lr, [r0] @ restore lr
ldr r0, [r13] @ restore r0
add r13, r13, #4 @ pop stack entry
.endm