diff options
author | Kyle McMartin <kyle@mcmartin.ca> | 2007-10-18 00:03:50 -0700 |
---|---|---|
committer | Kyle McMartin <kyle@shortfin.cabal.ca> | 2007-10-18 00:58:57 -0700 |
commit | f8b9e5945738d25c04d6735c2a070f574d2b34c5 (patch) | |
tree | cf3f801695d1a90c89fe475904b3bc23d4ab0bad /arch/parisc/kernel/processor.c | |
parent | 730e844d57693f464c7f9954a0f7102414164c3f (diff) | |
download | linux-f8b9e5945738d25c04d6735c2a070f574d2b34c5.tar.gz linux-f8b9e5945738d25c04d6735c2a070f574d2b34c5.tar.bz2 linux-f8b9e5945738d25c04d6735c2a070f574d2b34c5.zip |
[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>
Diffstat (limited to 'arch/parisc/kernel/processor.c')
-rw-r--r-- | arch/parisc/kernel/processor.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/parisc/kernel/processor.c b/arch/parisc/kernel/processor.c index 549f5484342c..370086fb8333 100644 --- a/arch/parisc/kernel/processor.c +++ b/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; |