ARM: 5627/1: Fix restoring of lr at the end of mcount
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Wed, 29 Jul 2009 18:31:30 +0000 (19:31 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 30 Jul 2009 09:44:16 +0000 (10:44 +0100)
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>
arch/arm/kernel/entry-common.S

index 366e509..8c3de1a 100644 (file)
@@ -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 */