diff options
author | David S. Miller <davem@davemloft.net> | 2009-08-10 06:29:47 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-08-10 06:29:47 +0200 |
commit | f222e8b40f2177b1c4cac015b117744c1d3fa3e9 (patch) | |
tree | 7c5fc22c08da900e21b0e7ab2376e8e8e44a63c0 /kernel/timer.c | |
parent | Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linvil... (diff) | |
parent | Merge branch 'for-linus' of git://git.infradead.org/ubi-2.6 (diff) | |
download | linux-f222e8b40f2177b1c4cac015b117744c1d3fa3e9.tar.xz linux-f222e8b40f2177b1c4cac015b117744c1d3fa3e9.zip |
Merge branch 'master' of /home/davem/src/GIT/linux-2.6/
Diffstat (limited to 'kernel/timer.c')
-rw-r--r-- | kernel/timer.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/timer.c b/kernel/timer.c index 54d3912f8cad..a7f07d5a6241 100644 --- a/kernel/timer.c +++ b/kernel/timer.c @@ -380,6 +380,8 @@ static void timer_stats_account_timer(struct timer_list *timer) { unsigned int flag = 0; + if (likely(!timer->start_site)) + return; if (unlikely(tbase_get_deferrable(timer->base))) flag |= TIMER_STATS_FLAG_DEFERRABLE; @@ -712,7 +714,7 @@ int mod_timer(struct timer_list *timer, unsigned long expires) * networking code - if the timer is re-modified * to be the same thing then just return: */ - if (timer->expires == expires && timer_pending(timer)) + if (timer_pending(timer) && timer->expires == expires) return 1; return __mod_timer(timer, expires, false, TIMER_NOT_PINNED); |