Patchwork powerpc/powerpnv: Properly handle failure starting CPUs

login
register
mail settings
Submitter Benjamin Herrenschmidt
Date May 4, 2013, 3:21 a.m.
Message ID <1367637660.4389.136.camel@pasglop>
Download mbox | patch
Permalink /patch/241423/
State Accepted, archived
Commit 4ea9008b75cdd6781207b73f4c01b6a877a0bb60
Headers show

Comments

Benjamin Herrenschmidt - May 4, 2013, 3:21 a.m.
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>
---
 arch/powerpc/platforms/powernv/smp.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Patch

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);
 }