summaryrefslogtreecommitdiffstats
path: root/net/sched/sch_cbq.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-08-19 05:51:18 +0200
committerDavid S. Miller <davem@davemloft.net>2008-08-19 06:05:56 +0200
commit8608db031b4d2932d645709e2cfe8fbcd91a7305 (patch)
tree01b2e63f9f28dddcb5c0dd72e9c8c5b73c866685 /net/sched/sch_cbq.c
parentpkt_sched: Fix return value corruption in HTB and TBF. (diff)
downloadlinux-8608db031b4d2932d645709e2cfe8fbcd91a7305.tar.xz
linux-8608db031b4d2932d645709e2cfe8fbcd91a7305.zip
pkt_sched: Never schedule non-root qdiscs.
Based upon initial discovery and patch by Jarek Poplawski. The qdisc watchdogs can be attached to any qdisc, not just the root, so make sure we schedule the correct one. CBQ has a similar bug. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
-rw-r--r--net/sched/sch_cbq.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sched/sch_cbq.c b/net/sched/sch_cbq.c
index 4e261ce62f48..47ef492c4ff4 100644
--- a/net/sched/sch_cbq.c
+++ b/net/sched/sch_cbq.c
@@ -654,7 +654,7 @@ static enum hrtimer_restart cbq_undelay(struct hrtimer *timer)
}
sch->flags &= ~TCQ_F_THROTTLED;
- __netif_schedule(sch);
+ __netif_schedule(qdisc_root(sch));
return HRTIMER_NORESTART;
}