From: Jason U. <jas...@sg...> - 2006-02-15 18:17:15
|
On Wed, Feb 15, 2006 at 12:47:24 +0100, Takashi Iwai wrote: > Fix the unbalanced spinlock in timer. > > > Takashi > > --- linux-2.6.15/kernel/timer.c-dist 2006-01-30 18:18:24.000000000 +0100 > +++ linux-2.6.15/kernel/timer.c 2006-01-30 18:18:58.000000000 +0100 > @@ -473,7 +473,7 @@ static inline void __run_timers(tvec_bas > BUG(); > } > } > - spin_lock_irq(&base->t_base.lock); > + spin_lock_irqsave(&base->t_base.lock, flags); > } > } > set_running_timer(base, NULL); I think this imbalance was deliberate cleverness. We've already saved flags once (at the top of the function) and they're guaranteed to be in the same state at this point. |