diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-02-06 21:05:15 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-02-06 21:05:15 +0100 |
commit | f0adc82064a5c28b34bdbc18e2d178c32094770b (patch) | |
tree | 42c051d53c978c722687a2dc341f2b54db271417 /kernel | |
parent | Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kern... (diff) | |
parent | Merge branch 'timers/locking' (diff) | |
download | linux-f0adc82064a5c28b34bdbc18e2d178c32094770b.tar.xz linux-f0adc82064a5c28b34bdbc18e2d178c32094770b.zip |
Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
lockdep, timer: Fix del_timer_sync() annotation
RTC: Prevents a division by zero in kernel code.
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/timer.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/timer.c b/kernel/timer.c index 43ca9936f2d0..d53ce66daea0 100644 --- a/kernel/timer.c +++ b/kernel/timer.c @@ -969,10 +969,14 @@ EXPORT_SYMBOL(try_to_del_timer_sync); int del_timer_sync(struct timer_list *timer) { #ifdef CONFIG_LOCKDEP + unsigned long flags; + + raw_local_irq_save(flags); local_bh_disable(); lock_map_acquire(&timer->lockdep_map); lock_map_release(&timer->lockdep_map); - local_bh_enable(); + _local_bh_enable(); + raw_local_irq_restore(flags); #endif /* * don't use it in hardirq context, because it |