diff options
Diffstat (limited to 'arch/ia64')
-rw-r--r-- | arch/ia64/kernel/acpi.c | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/arch/ia64/kernel/acpi.c b/arch/ia64/kernel/acpi.c index 34795ede72e0..ecd44bdc8394 100644 --- a/arch/ia64/kernel/acpi.c +++ b/arch/ia64/kernel/acpi.c | |||
@@ -794,24 +794,21 @@ __init void prefill_possible_map(void) | |||
794 | int possible, disabled_cpus; | 794 | int possible, disabled_cpus; |
795 | 795 | ||
796 | disabled_cpus = total_cpus - available_cpus; | 796 | disabled_cpus = total_cpus - available_cpus; |
797 | |||
797 | if (additional_cpus == -1) { | 798 | if (additional_cpus == -1) { |
798 | if (disabled_cpus > 0) { | 799 | if (disabled_cpus > 0) |
799 | possible = total_cpus; | ||
800 | additional_cpus = disabled_cpus; | 800 | additional_cpus = disabled_cpus; |
801 | } | 801 | else |
802 | else { | ||
803 | possible = available_cpus; | ||
804 | additional_cpus = 0; | 802 | additional_cpus = 0; |
805 | } | 803 | } |
806 | } else { | 804 | |
807 | possible = available_cpus + additional_cpus; | 805 | possible = available_cpus + additional_cpus; |
808 | } | 806 | |
809 | if (possible > NR_CPUS) | 807 | if (possible > NR_CPUS) |
810 | possible = NR_CPUS; | 808 | possible = NR_CPUS; |
811 | 809 | ||
812 | printk(KERN_INFO "SMP: Allowing %d CPUs, %d hotplug CPUs\n", | 810 | printk(KERN_INFO "SMP: Allowing %d CPUs, %d hotplug CPUs\n", |
813 | possible, | 811 | possible, max((possible - available_cpus), 0)); |
814 | max_t(int, additional_cpus, 0)); | ||
815 | 812 | ||
816 | for (i = 0; i < possible; i++) | 813 | for (i = 0; i < possible; i++) |
817 | cpu_set(i, cpu_possible_map); | 814 | cpu_set(i, cpu_possible_map); |