|
@@ -959,7 +959,7 @@ EXPORT_SYMBOL(try_to_del_timer_sync);
|
|
*
|
|
*
|
|
* Synchronization rules: Callers must prevent restarting of the timer,
|
|
* Synchronization rules: Callers must prevent restarting of the timer,
|
|
* otherwise this function is meaningless. It must not be called from
|
|
* otherwise this function is meaningless. It must not be called from
|
|
- * hardirq contexts. The caller must not hold locks which would prevent
|
|
|
|
|
|
+ * interrupt contexts. The caller must not hold locks which would prevent
|
|
* completion of the timer's handler. The timer's handler must not call
|
|
* completion of the timer's handler. The timer's handler must not call
|
|
* add_timer_on(). Upon exit the timer is not queued and the handler is
|
|
* add_timer_on(). Upon exit the timer is not queued and the handler is
|
|
* not running on any CPU.
|
|
* not running on any CPU.
|
|
@@ -971,12 +971,10 @@ int del_timer_sync(struct timer_list *timer)
|
|
#ifdef CONFIG_LOCKDEP
|
|
#ifdef CONFIG_LOCKDEP
|
|
unsigned long flags;
|
|
unsigned long flags;
|
|
|
|
|
|
- raw_local_irq_save(flags);
|
|
|
|
- local_bh_disable();
|
|
|
|
|
|
+ local_irq_save(flags);
|
|
lock_map_acquire(&timer->lockdep_map);
|
|
lock_map_acquire(&timer->lockdep_map);
|
|
lock_map_release(&timer->lockdep_map);
|
|
lock_map_release(&timer->lockdep_map);
|
|
- _local_bh_enable();
|
|
|
|
- raw_local_irq_restore(flags);
|
|
|
|
|
|
+ local_irq_restore(flags);
|
|
#endif
|
|
#endif
|
|
/*
|
|
/*
|
|
* don't use it in hardirq context, because it
|
|
* don't use it in hardirq context, because it
|