Commit 8e255baa authored by David S. Miller's avatar David S. Miller

sparc64: Fix smp_callin() locking.

Interrupts must be disabled when taking the IPI lock.

Caught by lockdep.
Reported-by: default avatarMeelis Roos <mroos@linux.ee>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 0882e8dd
...@@ -118,9 +118,9 @@ void __cpuinit smp_callin(void) ...@@ -118,9 +118,9 @@ void __cpuinit smp_callin(void)
while (!cpu_isset(cpuid, smp_commenced_mask)) while (!cpu_isset(cpuid, smp_commenced_mask))
rmb(); rmb();
ipi_call_lock(); ipi_call_lock_irq();
cpu_set(cpuid, cpu_online_map); cpu_set(cpuid, cpu_online_map);
ipi_call_unlock(); ipi_call_unlock_irq();
/* idle thread is expected to have preempt disabled */ /* idle thread is expected to have preempt disabled */
preempt_disable(); preempt_disable();
......
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