aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/sparc64/kernel/smp.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/sparc64/kernel/smp.c b/arch/sparc64/kernel/smp.c
index 1b6e2ade1008..7dc28a484268 100644
--- a/arch/sparc64/kernel/smp.c
+++ b/arch/sparc64/kernel/smp.c
@@ -1298,6 +1298,7 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
1298 while (!cpu_find_by_instance(instance, NULL, &mid)) { 1298 while (!cpu_find_by_instance(instance, NULL, &mid)) {
1299 if (mid != boot_cpu_id) { 1299 if (mid != boot_cpu_id) {
1300 cpu_clear(mid, phys_cpu_present_map); 1300 cpu_clear(mid, phys_cpu_present_map);
1301 cpu_clear(mid, cpu_present_map);
1301 if (num_possible_cpus() <= max_cpus) 1302 if (num_possible_cpus() <= max_cpus)
1302 break; 1303 break;
1303 } 1304 }
@@ -1332,8 +1333,10 @@ void __init smp_setup_cpu_possible_map(void)
1332 1333
1333 instance = 0; 1334 instance = 0;
1334 while (!cpu_find_by_instance(instance, NULL, &mid)) { 1335 while (!cpu_find_by_instance(instance, NULL, &mid)) {
1335 if (mid < NR_CPUS) 1336 if (mid < NR_CPUS) {
1336 cpu_set(mid, phys_cpu_present_map); 1337 cpu_set(mid, phys_cpu_present_map);
1338 cpu_set(mid, cpu_present_map);
1339 }
1337 instance++; 1340 instance++;
1338 } 1341 }
1339} 1342}