diff options
Diffstat (limited to 'arch/x86/kernel/smpboot.c')
-rw-r--r-- | arch/x86/kernel/smpboot.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index 678d0b8c26f3..b2ebcba729d9 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c | |||
@@ -241,6 +241,11 @@ static void __cpuinit smp_callin(void) | |||
241 | map_cpu_to_logical_apicid(); | 241 | map_cpu_to_logical_apicid(); |
242 | 242 | ||
243 | notify_cpu_starting(cpuid); | 243 | notify_cpu_starting(cpuid); |
244 | |||
245 | /* | ||
246 | * Need to setup vector mappings before we enable interrupts. | ||
247 | */ | ||
248 | __setup_vector_irq(smp_processor_id()); | ||
244 | /* | 249 | /* |
245 | * Get our bogomips. | 250 | * Get our bogomips. |
246 | * | 251 | * |
@@ -315,7 +320,6 @@ notrace static void __cpuinit start_secondary(void *unused) | |||
315 | */ | 320 | */ |
316 | ipi_call_lock(); | 321 | ipi_call_lock(); |
317 | lock_vector_lock(); | 322 | lock_vector_lock(); |
318 | __setup_vector_irq(smp_processor_id()); | ||
319 | set_cpu_online(smp_processor_id(), true); | 323 | set_cpu_online(smp_processor_id(), true); |
320 | unlock_vector_lock(); | 324 | unlock_vector_lock(); |
321 | ipi_call_unlock(); | 325 | ipi_call_unlock(); |