Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3b1904d00a54d4d839a4c12dbc98a14dc4efdc95 Commit: 3b1904d00a54d4d839a4c12dbc98a14dc4efdc95 Parent: a7da60f41551abb3c520b03d42ec05dd7decfc7f Author: Russell King <[EMAIL PROTECTED]> AuthorDate: Fri Jan 11 12:23:58 2008 +0000 Committer: Russell King <[EMAIL PROTECTED]> CommitDate: Sun Jan 20 10:09:59 2008 +0000
[ARM] pxa: don't rely on r2 being preserved over a function call r2 is not guaranteed to be preserved over a function call, so relying on it to store the link register over the call to sleep_phys_sp() is unreliable. Store the link register on the stack instead. Signed-off-by: Russell King <[EMAIL PROTECTED]> --- arch/arm/mach-pxa/sleep.S | 6 ++---- 1 files changed, 2 insertions(+), 4 deletions(-) diff --git a/arch/arm/mach-pxa/sleep.S b/arch/arm/mach-pxa/sleep.S index aff71fe..d044772 100644 --- a/arch/arm/mach-pxa/sleep.S +++ b/arch/arm/mach-pxa/sleep.S @@ -43,11 +43,11 @@ pxa_cpu_save_cp: pxa_cpu_save_sp: @ preserve phys address of stack mov r0, sp - mov r2, lr + str lr, [sp, #-4]! bl sleep_phys_sp ldr r1, =sleep_save_sp str r0, [r1] - mov pc, r2 + ldr pc, [sp], #4 /* * pxa27x_cpu_suspend() @@ -270,5 +270,3 @@ resume_after_mmu: mar acc0, r2, r3 #endif ldmfd sp!, {r4 - r12, pc} @ return to caller - - - To unsubscribe from this list: send the line "unsubscribe git-commits-head" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html