[NET_SCHED]: Fix endless loops (part 5): netem/tbf/hfsc ->requeue failures
authorPatrick McHardy <kaber@trash.net>
Thu, 30 Nov 2006 01:37:42 +0000 (17:37 -0800)
committerDavid S. Miller <davem@sunset.davemloft.net>
Sun, 3 Dec 2006 05:31:46 +0000 (21:31 -0800)
commite488eafcc50be296f0d1e1fd67c6b5d865183011
tree792549530bf6d6e36cf48c9192194bccad158e2d
parent256d61b87b2c2ac6fc333c1654d1abea61979006
[NET_SCHED]: Fix endless loops (part 5): netem/tbf/hfsc ->requeue failures

When peeking at the next packet in a child qdisc by calling dequeue/requeue,
the upper qdisc qlen counter may get out of sync in case the requeue fails.
The qdisc and the child qdisc both have their counter decremented, but since
no packet is given to the upper qdisc it won't decrement its counter itself.

requeue should not fail, so this is mostly for "correctness".

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/sch_hfsc.c
net/sched/sch_netem.c
net/sched/sch_tbf.c