sparc64: Fix smp_callin() locking.
Interrupts must be disabled when taking the IPI lock. Caught by lockdep. Reported-by: Meelis Roos <mroos@linux.ee> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
0882e8dd3a
Коммит
8e255baa44
|
@ -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();
|
||||||
|
|
Загрузка…
Ссылка в новой задаче