[NET_SCHED]: sch_cbq: fix watchdog scheduled too late q->now is increased during dequeue and doesn't contain the current time afterwards, resulting in a too large timeout value for the qdisc watchdog. Use "now" instead, which still contains the current time. Signed-off-by: Patrick McHardy --- commit b832b2f5f076cdd050b5b142dae10fcca874a4eb tree 19b7dc63ace14cc4a5c0d6d6561487185aef8fdd parent 9b85e807e5971a7ceff45ac450392909ea1c6954 author Patrick McHardy Fri, 16 Mar 2007 13:12:17 +0100 committer Patrick McHardy Fri, 16 Mar 2007 13:12:17 +0100 net/sched/sch_cbq.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/net/sched/sch_cbq.c b/net/sched/sch_cbq.c index 0491fad..d83414d 100644 --- a/net/sched/sch_cbq.c +++ b/net/sched/sch_cbq.c @@ -1070,7 +1070,7 @@ cbq_dequeue(struct Qdisc *sch) sch->qstats.overlimits++; if (q->wd_expires) qdisc_watchdog_schedule(&q->watchdog, - q->now + q->wd_expires); + now + q->wd_expires); } return NULL; }