Commit 2cb925b2 authored by William Lee Irwin III's avatar William Lee Irwin III Committed by Linus Torvalds

[PATCH] Numa-Q bootup failure fix

Make sure the non-boot CPU's aren't taking interrupts before they are ready..
parent 3a708694
...@@ -419,6 +419,7 @@ void __init smp_callin(void) ...@@ -419,6 +419,7 @@ void __init smp_callin(void)
smp_store_cpu_info(cpuid); smp_store_cpu_info(cpuid);
disable_APIC_timer(); disable_APIC_timer();
local_irq_disable();
/* /*
* Allow the master to continue. * Allow the master to continue.
*/ */
...@@ -1179,13 +1180,18 @@ void __init smp_prepare_cpus(unsigned int max_cpus) ...@@ -1179,13 +1180,18 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
int __devinit __cpu_up(unsigned int cpu) int __devinit __cpu_up(unsigned int cpu)
{ {
/* This only works at boot for x86. See "rewrite" above. */ /* This only works at boot for x86. See "rewrite" above. */
if (test_bit(cpu, &smp_commenced_mask)) if (test_bit(cpu, &smp_commenced_mask)) {
local_irq_enable();
return -ENOSYS; return -ENOSYS;
}
/* In case one didn't come up */ /* In case one didn't come up */
if (!test_bit(cpu, &cpu_callin_map)) if (!test_bit(cpu, &cpu_callin_map)) {
local_irq_enable();
return -EIO; return -EIO;
}
local_irq_enable();
/* Unleash the CPU! */ /* Unleash the CPU! */
set_bit(cpu, &smp_commenced_mask); set_bit(cpu, &smp_commenced_mask);
while (!test_bit(cpu, &cpu_online_map)) while (!test_bit(cpu, &cpu_online_map))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment