aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/smpboot.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/smpboot.c')
-rw-r--r--arch/x86/kernel/smpboot.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index 843722e2b79e..83e62137911b 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -979,7 +979,6 @@ do_rest:
979#endif 979#endif
980 cpu_clear(cpu, cpu_callout_map); /* was set by do_boot_cpu() */ 980 cpu_clear(cpu, cpu_callout_map); /* was set by do_boot_cpu() */
981 cpu_clear(cpu, cpu_initialized); /* was set by cpu_init() */ 981 cpu_clear(cpu, cpu_initialized); /* was set by cpu_init() */
982 cpu_clear(cpu, cpu_possible_map);
983 cpu_clear(cpu, cpu_present_map); 982 cpu_clear(cpu, cpu_present_map);
984 per_cpu(x86_cpu_to_apicid, cpu) = BAD_APICID; 983 per_cpu(x86_cpu_to_apicid, cpu) = BAD_APICID;
985 } 984 }
@@ -1173,6 +1172,7 @@ static void __init smp_cpu_index_default(void)
1173 */ 1172 */
1174void __init native_smp_prepare_cpus(unsigned int max_cpus) 1173void __init native_smp_prepare_cpus(unsigned int max_cpus)
1175{ 1174{
1175 preempt_disable();
1176 nmi_watchdog_default(); 1176 nmi_watchdog_default();
1177 smp_cpu_index_default(); 1177 smp_cpu_index_default();
1178 current_cpu_data = boot_cpu_data; 1178 current_cpu_data = boot_cpu_data;
@@ -1189,7 +1189,7 @@ void __init native_smp_prepare_cpus(unsigned int max_cpus)
1189 if (smp_sanity_check(max_cpus) < 0) { 1189 if (smp_sanity_check(max_cpus) < 0) {
1190 printk(KERN_INFO "SMP disabled\n"); 1190 printk(KERN_INFO "SMP disabled\n");
1191 disable_smp(); 1191 disable_smp();
1192 return; 1192 goto out;
1193 } 1193 }
1194 1194
1195 preempt_disable(); 1195 preempt_disable();
@@ -1229,6 +1229,8 @@ void __init native_smp_prepare_cpus(unsigned int max_cpus)
1229 printk(KERN_INFO "CPU%d: ", 0); 1229 printk(KERN_INFO "CPU%d: ", 0);
1230 print_cpu_info(&cpu_data(0)); 1230 print_cpu_info(&cpu_data(0));
1231 setup_boot_clock(); 1231 setup_boot_clock();
1232out:
1233 preempt_enable();
1232} 1234}
1233/* 1235/*
1234 * Early setup to make printk work. 1236 * Early setup to make printk work.