diff options
-rw-r--r-- | arch/x86/kernel/smpboot.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index 7a8f5845e8eb..6d7022c683e3 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c | |||
@@ -1084,7 +1084,6 @@ void __init native_smp_prepare_cpus(unsigned int max_cpus) | |||
1084 | { | 1084 | { |
1085 | unsigned int i; | 1085 | unsigned int i; |
1086 | 1086 | ||
1087 | preempt_disable(); | ||
1088 | smp_cpu_index_default(); | 1087 | smp_cpu_index_default(); |
1089 | 1088 | ||
1090 | /* | 1089 | /* |
@@ -1102,22 +1101,19 @@ void __init native_smp_prepare_cpus(unsigned int max_cpus) | |||
1102 | } | 1101 | } |
1103 | set_cpu_sibling_map(0); | 1102 | set_cpu_sibling_map(0); |
1104 | 1103 | ||
1105 | |||
1106 | if (smp_sanity_check(max_cpus) < 0) { | 1104 | if (smp_sanity_check(max_cpus) < 0) { |
1107 | pr_info("SMP disabled\n"); | 1105 | pr_info("SMP disabled\n"); |
1108 | disable_smp(); | 1106 | disable_smp(); |
1109 | goto out; | 1107 | return; |
1110 | } | 1108 | } |
1111 | 1109 | ||
1112 | default_setup_apic_routing(); | 1110 | default_setup_apic_routing(); |
1113 | 1111 | ||
1114 | preempt_disable(); | ||
1115 | if (read_apic_id() != boot_cpu_physical_apicid) { | 1112 | if (read_apic_id() != boot_cpu_physical_apicid) { |
1116 | panic("Boot APIC ID in local APIC unexpected (%d vs %d)", | 1113 | panic("Boot APIC ID in local APIC unexpected (%d vs %d)", |
1117 | read_apic_id(), boot_cpu_physical_apicid); | 1114 | read_apic_id(), boot_cpu_physical_apicid); |
1118 | /* Or can we switch back to PIC here? */ | 1115 | /* Or can we switch back to PIC here? */ |
1119 | } | 1116 | } |
1120 | preempt_enable(); | ||
1121 | 1117 | ||
1122 | connect_bsp_APIC(); | 1118 | connect_bsp_APIC(); |
1123 | 1119 | ||
@@ -1151,8 +1147,6 @@ void __init native_smp_prepare_cpus(unsigned int max_cpus) | |||
1151 | uv_system_init(); | 1147 | uv_system_init(); |
1152 | 1148 | ||
1153 | set_mtrr_aps_delayed_init(); | 1149 | set_mtrr_aps_delayed_init(); |
1154 | out: | ||
1155 | preempt_enable(); | ||
1156 | } | 1150 | } |
1157 | 1151 | ||
1158 | void arch_enable_nonboot_cpus_begin(void) | 1152 | void arch_enable_nonboot_cpus_begin(void) |