aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorSudeep Holla <sudeep.holla@arm.com>2015-07-31 11:41:36 -0400
committerWill Deacon <will.deacon@arm.com>2015-07-31 12:40:52 -0400
commitb511a6592860f24725f34909392885c4e3e9fe95 (patch)
tree3465d37ce38ce54d1d293b96af9b36b84ae39068 /arch
parent72407514c92c4e4b3584cba5961e63fb10c1a04e (diff)
arm64: restore cpu suspend/resume functionality
Commit 4b3dc9679cf7 ("arm64: force CONFIG_SMP=y and remove redundant #ifdefs") accidentally retained code for !CONFIG_SMP in cpu_resume function. This resulted in the hash index being zeroed in x7 after proper computation, which is then used to get the cpu context pointer while resuming. This patch removes the remanant code and restores back the cpu suspend/ resume functionality. Fixes: 4b3dc9679cf7 ("arm64: force CONFIG_SMP=y and remove redundant #ifdefs") Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will.deacon@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm64/kernel/sleep.S1
1 files changed, 0 insertions, 1 deletions
diff --git a/arch/arm64/kernel/sleep.S b/arch/arm64/kernel/sleep.S
index 5686a3ae3940..fb3128ea3a4f 100644
--- a/arch/arm64/kernel/sleep.S
+++ b/arch/arm64/kernel/sleep.S
@@ -158,7 +158,6 @@ ENTRY(cpu_resume)
158 ldp w5, w6, [x8, #(MPIDR_HASH_SHIFTS + 8)] 158 ldp w5, w6, [x8, #(MPIDR_HASH_SHIFTS + 8)]
159 compute_mpidr_hash x7, x3, x4, x5, x6, x1, x2 159 compute_mpidr_hash x7, x3, x4, x5, x6, x1, x2
160 /* x7 contains hash index, let's use it to grab context pointer */ 160 /* x7 contains hash index, let's use it to grab context pointer */
161 mov x7, xzr
162 ldr_l x0, sleep_save_sp + SLEEP_SAVE_SP_PHYS 161 ldr_l x0, sleep_save_sp + SLEEP_SAVE_SP_PHYS
163 ldr x0, [x0, x7, lsl #3] 162 ldr x0, [x0, x7, lsl #3]
164 /* load sp from context */ 163 /* load sp from context */