Skip to content

Commit

Permalink
sparc64: Fix smp_callin() locking.
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
David S. Miller committed Apr 15, 2009
1 parent 0882e8d commit 8e255ba
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions arch/sparc/kernel/smp_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -118,9 +118,9 @@ void __cpuinit smp_callin(void)
while (!cpu_isset(cpuid, smp_commenced_mask))
rmb();

ipi_call_lock();
ipi_call_lock_irq();
cpu_set(cpuid, cpu_online_map);
ipi_call_unlock();
ipi_call_unlock_irq();

/* idle thread is expected to have preempt disabled */
preempt_disable();
Expand Down

0 comments on commit 8e255ba

Please sign in to comment.