diff options
Diffstat (limited to 'kernel/timer.c')
| -rw-r--r-- | kernel/timer.c | 8 | 
1 files changed, 4 insertions, 4 deletions
| diff --git a/kernel/timer.c b/kernel/timer.c index 6663a87f7304..8ad384253ef2 100644 --- a/kernel/timer.c +++ b/kernel/timer.c @@ -1651,8 +1651,8 @@ static void __devinit migrate_timers(int cpu)  	new_base = get_cpu_var(tvec_bases);  	local_irq_disable(); -	spin_lock(&new_base->lock); -	spin_lock(&old_base->lock); +	double_spin_lock(&new_base->lock, &old_base->lock, +			 smp_processor_id() < cpu);  	BUG_ON(old_base->running_timer); @@ -1665,8 +1665,8 @@ static void __devinit migrate_timers(int cpu)  		migrate_timer_list(new_base, old_base->tv5.vec + i);  	} -	spin_unlock(&old_base->lock); -	spin_unlock(&new_base->lock); +	double_spin_unlock(&new_base->lock, &old_base->lock, +			   smp_processor_id() < cpu);  	local_irq_enable();  	put_cpu_var(tvec_bases);  } | 
