summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorAndrew Morton <akpm@osdl.org>2005-10-31 00:02:24 +0100
committerLinus Torvalds <torvalds@g5.osdl.org>2005-10-31 02:37:21 +0100
commit15d2bace5ec907530a3d0e0cf4bb1bd29f3ad7b7 (patch)
tree52434f3ad069dadb6e70461888c2a068c44a9738 /include
parent[PATCH] block cleanups: Fix iosched module refcount leak (diff)
downloadlinux-15d2bace5ec907530a3d0e0cf4bb1bd29f3ad7b7.tar.xz
linux-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')
-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);
}