arm64: restore cpu suspend/resume functionality
authorSudeep Holla <[email protected]>
Fri, 31 Jul 2015 15:41:36 +0000 (16:41 +0100)
committerWill Deacon <[email protected]>
Fri, 31 Jul 2015 16:40:52 +0000 (17:40 +0100)
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 <[email protected]>
Cc: Lorenzo Pieralisi <[email protected]>
Cc: Catalin Marinas <[email protected]>
Cc: Will Deacon <[email protected]>
Signed-off-by: Will Deacon <[email protected]>
arch/arm64/kernel/sleep.S

index 5686a3ae3940f96f423a0243bc8cce159ba47b31..fb3128ea3a4f5dfe4ab4824a1894c0aa8a01352f 100644 (file)
@@ -158,7 +158,6 @@ ENTRY(cpu_resume)
        ldp     w5, w6, [x8, #(MPIDR_HASH_SHIFTS + 8)]
        compute_mpidr_hash x7, x3, x4, x5, x6, x1, x2
         /* x7 contains hash index, let's use it to grab context pointer */
-       mov     x7, xzr
        ldr_l   x0, sleep_save_sp + SLEEP_SAVE_SP_PHYS
        ldr     x0, [x0, x7, lsl #3]
        /* load sp from context */