diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2009-07-29 14:31:30 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2009-07-30 05:44:16 -0400 |
commit | 3ef7143d2287b21e09e00a25a8cb4fbdcf0c6c4c (patch) | |
tree | 80f048c1aad3d111e74c99b034e67877ae034eaa /arch/arm/kernel/entry-common.S | |
parent | e624859e7eb6ae2930df3923af73406dc6ccdad8 (diff) |
ARM: 5627/1: Fix restoring of lr at the end of mcount
After ftrace_trace_function is called r1 is probably clobbered so don't
try to use its value for restoring.
This was introduced in v2.6.29~38^2~7
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/kernel/entry-common.S')
-rw-r--r-- | arch/arm/kernel/entry-common.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S index 366e5097a41a..8c3de1a350b5 100644 --- a/arch/arm/kernel/entry-common.S +++ b/arch/arm/kernel/entry-common.S | |||
@@ -148,7 +148,7 @@ trace: | |||
148 | sub r0, r0, #MCOUNT_INSN_SIZE | 148 | sub r0, r0, #MCOUNT_INSN_SIZE |
149 | mov lr, pc | 149 | mov lr, pc |
150 | mov pc, r2 | 150 | mov pc, r2 |
151 | mov lr, r1 @ restore lr | 151 | ldr lr, [fp, #-4] @ restore lr |
152 | ldmia sp!, {r0-r3, pc} | 152 | ldmia sp!, {r0-r3, pc} |
153 | 153 | ||
154 | #endif /* CONFIG_DYNAMIC_FTRACE */ | 154 | #endif /* CONFIG_DYNAMIC_FTRACE */ |