summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>2009-07-29 19:31:30 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2009-07-30 10:44:16 +0100
commit3ef7143d2287b21e09e00a25a8cb4fbdcf0c6c4c (patch)
tree80f048c1aad3d111e74c99b034e67877ae034eaa /arch
parente624859e7eb6ae2930df3923af73406dc6ccdad8 (diff)
downloadlinux-3ef7143d2287b21e09e00a25a8cb4fbdcf0c6c4c.tar.gz
linux-3ef7143d2287b21e09e00a25a8cb4fbdcf0c6c4c.tar.bz2
linux-3ef7143d2287b21e09e00a25a8cb4fbdcf0c6c4c.zip
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')
-rw-r--r--arch/arm/kernel/entry-common.S2
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:
sub r0, r0, #MCOUNT_INSN_SIZE
mov lr, pc
mov pc, r2
- mov lr, r1 @ restore lr
+ ldr lr, [fp, #-4] @ restore lr
ldmia sp!, {r0-r3, pc}
#endif /* CONFIG_DYNAMIC_FTRACE */