Commit bb239acf authored by Patrick McHardy's avatar Patrick McHardy Committed by David S. Miller

[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: default avatarPatrick McHardy <kaber@trash.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 4361cb17
...@@ -1070,7 +1070,7 @@ cbq_dequeue(struct Qdisc *sch) ...@@ -1070,7 +1070,7 @@ cbq_dequeue(struct Qdisc *sch)
sch->qstats.overlimits++; sch->qstats.overlimits++;
if (q->wd_expires) if (q->wd_expires)
qdisc_watchdog_schedule(&q->watchdog, qdisc_watchdog_schedule(&q->watchdog,
q->now + q->wd_expires); now + q->wd_expires);
} }
return NULL; return NULL;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment