summaryrefslogtreecommitdiff
path: root/include/linux/timer.h
diff options
context:
space:
mode:
authorAndrew Morton <akpm@osdl.org>2005-10-30 15:02:24 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2005-10-30 17:37:21 -0800
commit15d2bace5ec907530a3d0e0cf4bb1bd29f3ad7b7 (patch)
tree52434f3ad069dadb6e70461888c2a068c44a9738 /include/linux/timer.h
parent2ca7d93bb27876e5fd4ebfcb3b00627107bdad4d (diff)
downloadlwn-15d2bace5ec907530a3d0e0cf4bb1bd29f3ad7b7.tar.gz
lwn-15d2bace5ec907530a3d0e0cf4bb1bd29f3ad7b7.zip
[PATCH] add_timer() of a pending timer is illegal
In the recent timer rework we lost the check for an add_timer() of an already-pending timer. That check was useful for networking, so put it back. Cc: "David S. Miller" <davem@davemloft.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux/timer.h')
-rw-r--r--include/linux/timer.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/timer.h b/include/linux/timer.h
index b1dc583bb4d4..72f3a7781106 100644
--- a/include/linux/timer.h
+++ b/include/linux/timer.h
@@ -78,8 +78,9 @@ extern unsigned long next_timer_interrupt(void);
* Timers with an ->expired field in the past will be executed in the next
* timer tick.
*/
-static inline void add_timer(struct timer_list * timer)
+static inline void add_timer(struct timer_list *timer)
{
+ BUG_ON(timer_pending(timer));
__mod_timer(timer, timer->expires);
}