diff options
author | Tony Lindgren <tony@atomide.com> | 2011-02-25 15:27:14 -0500 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2011-02-25 15:27:14 -0500 |
commit | 02fa9f0451ac639a687bfc145eefe58703ff220e (patch) | |
tree | fe984acc78f22f6eb8fb98efaba8b1ac2f3ad8d9 /kernel/timer.c | |
parent | cbc9438075ca9dee3f39a2e7310f81c304b40359 (diff) | |
parent | 51c404b2c514930e98e81e0b9294f19892a4f871 (diff) |
Merge branch 'patches_for_2.6.38rc' of git://git.pwsan.com/linux-2.6 into devel-fixes
Diffstat (limited to 'kernel/timer.c')
-rw-r--r-- | kernel/timer.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/kernel/timer.c b/kernel/timer.c index 43ca9936f2d0..d6459923d245 100644 --- a/kernel/timer.c +++ b/kernel/timer.c | |||
@@ -959,7 +959,7 @@ EXPORT_SYMBOL(try_to_del_timer_sync); | |||
959 | * | 959 | * |
960 | * Synchronization rules: Callers must prevent restarting of the timer, | 960 | * Synchronization rules: Callers must prevent restarting of the timer, |
961 | * otherwise this function is meaningless. It must not be called from | 961 | * otherwise this function is meaningless. It must not be called from |
962 | * hardirq contexts. The caller must not hold locks which would prevent | 962 | * interrupt contexts. The caller must not hold locks which would prevent |
963 | * completion of the timer's handler. The timer's handler must not call | 963 | * completion of the timer's handler. The timer's handler must not call |
964 | * add_timer_on(). Upon exit the timer is not queued and the handler is | 964 | * add_timer_on(). Upon exit the timer is not queued and the handler is |
965 | * not running on any CPU. | 965 | * not running on any CPU. |
@@ -969,10 +969,12 @@ EXPORT_SYMBOL(try_to_del_timer_sync); | |||
969 | int del_timer_sync(struct timer_list *timer) | 969 | int del_timer_sync(struct timer_list *timer) |
970 | { | 970 | { |
971 | #ifdef CONFIG_LOCKDEP | 971 | #ifdef CONFIG_LOCKDEP |
972 | local_bh_disable(); | 972 | unsigned long flags; |
973 | |||
974 | local_irq_save(flags); | ||
973 | lock_map_acquire(&timer->lockdep_map); | 975 | lock_map_acquire(&timer->lockdep_map); |
974 | lock_map_release(&timer->lockdep_map); | 976 | lock_map_release(&timer->lockdep_map); |
975 | local_bh_enable(); | 977 | local_irq_restore(flags); |
976 | #endif | 978 | #endif |
977 | /* | 979 | /* |
978 | * don't use it in hardirq context, because it | 980 | * don't use it in hardirq context, because it |