diff options
-rw-r--r-- | drivers/acpi/processor_driver.c | 5 | ||||
-rw-r--r-- | init/main.c | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/drivers/acpi/processor_driver.c b/drivers/acpi/processor_driver.c index b1034a9ada4e..38ea0cc6dc49 100644 --- a/drivers/acpi/processor_driver.c +++ b/drivers/acpi/processor_driver.c | |||
@@ -581,6 +581,11 @@ static int __cpuinit acpi_processor_add(struct acpi_device *device) | |||
581 | return 0; | 581 | return 0; |
582 | } | 582 | } |
583 | 583 | ||
584 | #ifdef CONFIG_SMP | ||
585 | if (pr->id >= setup_max_cpus && pr->id != 0) | ||
586 | return 0; | ||
587 | #endif | ||
588 | |||
584 | BUG_ON((pr->id >= nr_cpu_ids) || (pr->id < 0)); | 589 | BUG_ON((pr->id >= nr_cpu_ids) || (pr->id < 0)); |
585 | 590 | ||
586 | /* | 591 | /* |
diff --git a/init/main.c b/init/main.c index 3bdb152f412f..ac2e4a5f59ee 100644 --- a/init/main.c +++ b/init/main.c | |||
@@ -125,7 +125,9 @@ static char *ramdisk_execute_command; | |||
125 | 125 | ||
126 | #ifdef CONFIG_SMP | 126 | #ifdef CONFIG_SMP |
127 | /* Setup configured maximum number of CPUs to activate */ | 127 | /* Setup configured maximum number of CPUs to activate */ |
128 | unsigned int __initdata setup_max_cpus = NR_CPUS; | 128 | unsigned int setup_max_cpus = NR_CPUS; |
129 | EXPORT_SYMBOL(setup_max_cpus); | ||
130 | |||
129 | 131 | ||
130 | /* | 132 | /* |
131 | * Setup routine for controlling SMP activation | 133 | * Setup routine for controlling SMP activation |