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) | |||
1651 | new_base = get_cpu_var(tvec_bases); | 1651 | new_base = get_cpu_var(tvec_bases); |
1652 | 1652 | ||
1653 | local_irq_disable(); | 1653 | local_irq_disable(); |
1654 | spin_lock(&new_base->lock); | 1654 | double_spin_lock(&new_base->lock, &old_base->lock, |
1655 | spin_lock(&old_base->lock); | 1655 | smp_processor_id() < cpu); |
1656 | 1656 | ||
1657 | BUG_ON(old_base->running_timer); | 1657 | BUG_ON(old_base->running_timer); |
1658 | 1658 | ||
@@ -1665,8 +1665,8 @@ static void __devinit migrate_timers(int cpu) | |||
1665 | migrate_timer_list(new_base, old_base->tv5.vec + i); | 1665 | migrate_timer_list(new_base, old_base->tv5.vec + i); |
1666 | } | 1666 | } |
1667 | 1667 | ||
1668 | spin_unlock(&old_base->lock); | 1668 | double_spin_unlock(&new_base->lock, &old_base->lock, |
1669 | spin_unlock(&new_base->lock); | 1669 | smp_processor_id() < cpu); |
1670 | local_irq_enable(); | 1670 | local_irq_enable(); |
1671 | put_cpu_var(tvec_bases); | 1671 | put_cpu_var(tvec_bases); |
1672 | } | 1672 | } |