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

Reply via email to