diff options
| author | Grant Likely <grant.likely@secretlab.ca> | 2011-02-28 01:36:21 -0700 | 
|---|---|---|
| committer | Grant Likely <grant.likely@secretlab.ca> | 2011-02-28 01:36:21 -0700 | 
| commit | 38a5d6736e7f714cc56d58692001e66dcbb98799 (patch) | |
| tree | 337d32375e10b04642013710c2c424514474b32c /kernel/timer.c | |
| parent | 0bfd95a2a104dfc2469d68de52df99939371c0d4 (diff) | |
| parent | f5412be599602124d2bdd49947b231dd77c0bf99 (diff) | |
Merge commit 'v2.6.38-rc6' into devicetree/next
Conflicts:
	drivers/spi/pxa2xx_spi_pci.c
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 43ca9936f2d..d6459923d24 100644 --- a/kernel/timer.c +++ b/kernel/timer.c @@ -959,7 +959,7 @@ EXPORT_SYMBOL(try_to_del_timer_sync);   *   * Synchronization rules: Callers must prevent restarting of the timer,   * 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   * add_timer_on(). Upon exit the timer is not queued and the handler is   * not running on any CPU. @@ -969,10 +969,12 @@ EXPORT_SYMBOL(try_to_del_timer_sync);  int del_timer_sync(struct timer_list *timer)  {  #ifdef CONFIG_LOCKDEP -	local_bh_disable(); +	unsigned long flags; + +	local_irq_save(flags);  	lock_map_acquire(&timer->lockdep_map);  	lock_map_release(&timer->lockdep_map); -	local_bh_enable(); +	local_irq_restore(flags);  #endif  	/*  	 * don't use it in hardirq context, because it  | 
