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/sched/sch_netem.c | |
parent | c7bf5f9dc2f78ae8ebbfffc5f17becd0d9e6ba9e (diff) | |
download | op-kernel-dev-76d643cd3bd2b4a1e27e3eafee8e37be9c681792.zip op-kernel-dev-76d643cd3bd2b4a1e27e3eafee8e37be9c681792.tar.gz |
[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/sched/sch_netem.c')
-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 3e1b633..bc42843 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; |