提交 8e255baa 编写于 作者: D David S. Miller

sparc64: Fix smp_callin() locking.

Interrupts must be disabled when taking the IPI lock.

Caught by lockdep.
Reported-by: NMeelis Roos <mroos@linux.ee>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 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% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册