Răsfoiți Sursa

[PARISC] Unbreak processor_probe when we have more than NR_CPUS

If we already have NR_CPUS worth of cpus online, we obviously shouldn't
be trying to bring up more... Fixes a particularly vexing issue I had when
running another machines kernel on my rp3440.

Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
Kyle McMartin 17 ani în urmă
părinte
comite
f8b9e59457
1 a modificat fișierele cu 6 adăugiri și 1 ștergeri
  1. 6 1
      arch/parisc/kernel/processor.c

+ 6 - 1
arch/parisc/kernel/processor.c

@@ -82,7 +82,12 @@ static int __cpuinit processor_probe(struct parisc_device *dev)
 	unsigned long cpuid;
 	struct cpuinfo_parisc *p;
 
-#ifndef CONFIG_SMP
+#ifdef CONFIG_SMP
+	if (num_online_cpus() >= NR_CPUS) {
+		printk(KERN_INFO "num_online_cpus() >= NR_CPUS\n");
+		return 1;
+	}
+#else
 	if (boot_cpu_data.cpu_count > 0) {
 		printk(KERN_INFO "CONFIG_SMP=n  ignoring additional CPUs\n");
 		return 1;