[NET] link_watch: Eliminate potential delay on wrap-around
When the jiffies wrap around or when the system boots up for the first time, down events can be delayed indefinitely since we no longer update linkwatch_nextevent when only urgent events are processed. This patch fixes this by setting linkwatch_nextevent when a wrap-around occurs. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
4cd8c9e87b
commit
db0ccffed9
|
@ -101,8 +101,10 @@ static void linkwatch_schedule_work(unsigned long delay)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* If we wrap around we'll delay it by at most HZ. */
|
/* If we wrap around we'll delay it by at most HZ. */
|
||||||
if (delay > HZ)
|
if (delay > HZ) {
|
||||||
|
linkwatch_nextevent = jiffies;
|
||||||
delay = 0;
|
delay = 0;
|
||||||
|
}
|
||||||
|
|
||||||
schedule_delayed_work(&linkwatch_work, delay);
|
schedule_delayed_work(&linkwatch_work, delay);
|
||||||
}
|
}
|
||||||
|
|
Reference in New Issue