aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRanjani Vaidyanathan <Ranjani.Vaidyanathan@freescale.com>2014-05-08 14:43:52 -0400
committerRanjani Vaidyanathan <Ranjani.Vaidyanathan@freescale.com>2014-05-13 12:32:46 -0400
commitef9b405510b379c70e71e1fa2bdbec1b4d89483d (patch)
tree95137bc25af552b1f20978cb8469e86ac9d2a41b
parent1cd4822f117d32c31b8aa30a0942e1b39fa65094 (diff)
ENGR00312939 ARM:imx6x: Ensure that the suspend/resume code saves the registers.
The suspend/resume code needs to save the ARM registers that is used in the code. The return paths from the suspend code can be different, based on if an interrupt is pending. So we cannot depend on the kernel code to restore the registers. Signed-off-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@freescale.com>
-rw-r--r--arch/arm/mach-imx/suspend-imx6.S4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/suspend-imx6.S b/arch/arm/mach-imx/suspend-imx6.S
index 261a29080c30..f21e1359bc5c 100644
--- a/arch/arm/mach-imx/suspend-imx6.S
+++ b/arch/arm/mach-imx/suspend-imx6.S
@@ -558,6 +558,8 @@
558 558
559ENTRY(imx6_suspend) 559ENTRY(imx6_suspend)
560 560
561 push {r4-r12}
562
561 /* 563 /*
562 * counting the resume address in iram 564 * counting the resume address in iram
563 * to set it in SRC register. 565 * to set it in SRC register.
@@ -873,6 +875,8 @@ poll_dvfs_clear_2:
873 ldr r6, =0x0 875 ldr r6, =0x0
874 mcr p15, 0, r6, c8, c3, 0 876 mcr p15, 0, r6, c8, c3, 0
875 877
878 pop {r4-r12}
879
876 /* return to suspend finish */ 880 /* return to suspend finish */
877 mov pc, lr 881 mov pc, lr
878 882