Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: kernel/posix-cpu-timers.c: fix sparse warning dma-debug: remove broken dma memory leak detection for 2.6.30 locking: Documentation: lockdep-design.txt, fix note of state bits
This commit is contained in:
@@ -1420,19 +1420,19 @@ void run_posix_cpu_timers(struct task_struct *tsk)
|
||||
* timer call will interfere.
|
||||
*/
|
||||
list_for_each_entry_safe(timer, next, &firing, it.cpu.entry) {
|
||||
int firing;
|
||||
int cpu_firing;
|
||||
|
||||
spin_lock(&timer->it_lock);
|
||||
list_del_init(&timer->it.cpu.entry);
|
||||
firing = timer->it.cpu.firing;
|
||||
cpu_firing = timer->it.cpu.firing;
|
||||
timer->it.cpu.firing = 0;
|
||||
/*
|
||||
* The firing flag is -1 if we collided with a reset
|
||||
* of the timer, which already reported this
|
||||
* almost-firing as an overrun. So don't generate an event.
|
||||
*/
|
||||
if (likely(firing >= 0)) {
|
||||
if (likely(cpu_firing >= 0))
|
||||
cpu_timer_fire(timer);
|
||||
}
|
||||
spin_unlock(&timer->it_lock);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user