diff options
author | David Woodhouse <dwmw2@infradead.org> | 2006-05-16 01:19:52 +0100 |
---|---|---|
committer | David Woodhouse <dwmw2@infradead.org> | 2006-05-16 01:19:52 +0100 |
commit | 18594822fcb01d4b35e05b9018f770a0b4156d1a (patch) | |
tree | 38d35c38086a564beaac215f8e52694cdbfab1c3 /net/core/link_watch.c | |
parent | [PATCH] jffs2: memory leak in jffs2_scan_medium() (diff) | |
parent | [PATCH] dl2k needs dma-mapping.h (diff) | |
download | linux-dev-18594822fcb01d4b35e05b9018f770a0b4156d1a.tar.xz linux-dev-18594822fcb01d4b35e05b9018f770a0b4156d1a.zip |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Diffstat (limited to 'net/core/link_watch.c')
-rw-r--r-- | net/core/link_watch.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/net/core/link_watch.c b/net/core/link_watch.c index 341de44c7ed1..646937cc2d84 100644 --- a/net/core/link_watch.c +++ b/net/core/link_watch.c @@ -170,13 +170,13 @@ void linkwatch_fire_event(struct net_device *dev) spin_unlock_irqrestore(&lweventlist_lock, flags); if (!test_and_set_bit(LW_RUNNING, &linkwatch_flags)) { - unsigned long thisevent = jiffies; + unsigned long delay = linkwatch_nextevent - jiffies; - if (thisevent >= linkwatch_nextevent) { + /* If we wrap around we'll delay it by at most HZ. */ + if (!delay || delay > HZ) schedule_work(&linkwatch_work); - } else { - schedule_delayed_work(&linkwatch_work, linkwatch_nextevent - thisevent); - } + else + schedule_delayed_work(&linkwatch_work, delay); } } } |