diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2013-05-03 17:21:00 +0000 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2013-05-06 09:25:41 +1000 |
commit | 4ea9008b75cdd6781207b73f4c01b6a877a0bb60 (patch) | |
tree | 7c561ad1c1c72a876ad37c636e5dc862040041e1 | |
parent | 748645bf06f4ed2f5355eb7b3e721b44fb94d5e6 (diff) | |
download | op-kernel-dev-4ea9008b75cdd6781207b73f4c01b6a877a0bb60.zip op-kernel-dev-4ea9008b75cdd6781207b73f4c01b6a877a0bb60.tar.gz |
powerpc/powerpnv: Properly handle failure starting CPUs
If OPAL returns an error, propagate it upward rather than spinning
seconds waiting for a CPU that will never show up
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
-rw-r--r-- | arch/powerpc/platforms/powernv/smp.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/powernv/smp.c b/arch/powerpc/platforms/powernv/smp.c index 0bdc735..6a3ecca 100644 --- a/arch/powerpc/platforms/powernv/smp.c +++ b/arch/powerpc/platforms/powernv/smp.c @@ -77,9 +77,11 @@ int pnv_smp_kick_cpu(int nr) if (!paca[nr].cpu_start && firmware_has_feature(FW_FEATURE_OPALv2)) { pr_devel("OPAL: Starting CPU %d (HW 0x%x)...\n", nr, pcpu); rc = opal_start_cpu(pcpu, start_here); - if (rc != OPAL_SUCCESS) + if (rc != OPAL_SUCCESS) { pr_warn("OPAL Error %ld starting CPU %d\n", rc, nr); + return -ENODEV; + } } return smp_generic_kick_cpu(nr); } |