summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorMichael Neuling <mikey@neuling.org>2013-04-24 21:00:37 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-05-07 20:08:16 -0700
commit6c90fd94192868a473c7fdc064c93a865617cbae (patch)
treee7aa90c37f0ed99f3a73f7035bf62e6b39563505 /arch
parent1248f642860f89ae24eac527c0cc8a26b4fb6660 (diff)
powerpc/power8: Fix secondary CPUs hanging on boot for HV=0
commit 8c2a381734fc9718f127f4aba958e8a7958d4028 upstream. In __restore_cpu_power8 we determine if we are HV and if not, we return before setting HV only resources. Unfortunately we forgot to restore the link register from r11 before returning. This will happen on boot and with secondary CPUs not coming online. This adds the missing link register restore. Signed-off-by: Michael Neuling <mikey@neuling.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/kernel/cpu_setup_power.S1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/cpu_setup_power.S b/arch/powerpc/kernel/cpu_setup_power.S
index 57cf14065aec..0c0fc7b559a5 100644
--- a/arch/powerpc/kernel/cpu_setup_power.S
+++ b/arch/powerpc/kernel/cpu_setup_power.S
@@ -64,6 +64,7 @@ _GLOBAL(__restore_cpu_power8)
mflr r11
mfmsr r3
rldicl. r0,r3,4,63
+ mtlr r11
beqlr
li r0,0
mtspr SPRN_LPID,r0