Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 192242
b: refs/heads/master
c: 802702e
h: refs/heads/master
v: v3
  • Loading branch information
Thomas Gleixner committed Mar 12, 2010
1 parent 2dab75e commit 325e410
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 4 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 576da126a6c7364d70dfd58d0bbe43d05cf5859f
refs/heads/master: 802702e0c2618465b813242d4dfee6a233ba0beb
12 changes: 9 additions & 3 deletions trunk/kernel/timer.c
Original file line number Diff line number Diff line change
Expand Up @@ -982,9 +982,15 @@ static void call_timer_fn(struct timer_list *timer, void (*fn)(unsigned long),
lock_map_release(&lockdep_map);

if (preempt_count != preempt_count()) {
printk(KERN_ERR "timer: %pF preempt leak: %08x -> %08x\n",
fn, preempt_count, preempt_count());
BUG();
WARN_ONCE(1, "timer: %pF preempt leak: %08x -> %08x\n",
fn, preempt_count, preempt_count());
/*
* Restore the preempt count. That gives us a decent
* chance to survive and extract information. If the
* callback kept a lock held, bad luck, but not worse
* than the BUG() we had.
*/
preempt_count() = preempt_count;
}
}

Expand Down

0 comments on commit 325e410

Please sign in to comment.