Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3b1904d0 authored by Russell King's avatar Russell King Committed by Russell King
Browse files

[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: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent a7da60f4
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -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