diff options
author | Patrick McHardy <kaber@trash.net> | 2007-03-23 11:27:04 -0700 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-04-25 22:27:47 -0700 |
commit | 76d643cd3bd2b4a1e27e3eafee8e37be9c681792 (patch) | |
tree | de8ede0c0700755caf16ca9d3dc4dba06075984d /net | |
parent | c7bf5f9dc2f78ae8ebbfffc5f17becd0d9e6ba9e (diff) | |
download | linux-76d643cd3bd2b4a1e27e3eafee8e37be9c681792.tar.gz linux-76d643cd3bd2b4a1e27e3eafee8e37be9c681792.tar.bz2 linux-76d643cd3bd2b4a1e27e3eafee8e37be9c681792.zip |
[NET_SCHED]: sch_netem: fix off-by-one in send time comparison
netem checks PSCHED_TLESS(cb->time_to_send, now) to find out whether it is
allowed to send a packet, which is equivalent to cb->time_to_send < now.
Use !PSCHED_TLESS(now, cb->time_to_send) instead to properly handle
cb->time_to_send == now.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/sched/sch_netem.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sched/sch_netem.c b/net/sched/sch_netem.c index 3e1b633e8b0d..bc4284396fcb 100644 --- a/net/sched/sch_netem.c +++ b/net/sched/sch_netem.c @@ -286,7 +286,7 @@ static struct sk_buff *netem_dequeue(struct Qdisc *sch) /* if more time remaining? */ PSCHED_GET_TIME(now); - if (PSCHED_TLESS(cb->time_to_send, now)) { + if (!PSCHED_TLESS(now, cb->time_to_send)) { pr_debug("netem_dequeue: return skb=%p\n", skb); sch->q.qlen--; return skb; |