summaryrefslogtreecommitdiff
path: root/arch/powerpc/kernel/cpu_setup_power.S
diff options
context:
space:
mode:
authorMichael Neuling <mikey@neuling.org>2013-04-24 21:00:37 (GMT)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2013-04-26 06:08:17 (GMT)
commit8c2a381734fc9718f127f4aba958e8a7958d4028 (patch)
tree65fc9f395647f12b206462c085c486886eb3f77c /arch/powerpc/kernel/cpu_setup_power.S
parent29ce3c5073057991217916abc25628e906911757 (diff)
downloadlinux-8c2a381734fc9718f127f4aba958e8a7958d4028.tar.xz
powerpc/power8: Fix secondary CPUs hanging on boot for HV=0
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> CC: <stable@vger.kernel.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/kernel/cpu_setup_power.S')
-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 2e6ad11..4daa5b7 100644
--- a/arch/powerpc/kernel/cpu_setup_power.S
+++ b/arch/powerpc/kernel/cpu_setup_power.S
@@ -67,6 +67,7 @@ _GLOBAL(__restore_cpu_power8)
bl __init_FSCR
mfmsr r3
rldicl. r0,r3,4,63
+ mtlr r11
beqlr
li r0,0
mtspr SPRN_LPID,r0