]> git.baikalelectronics.ru Git - kernel.git/commit
pkt_sched: Fix tx queue selection in tc_modify_qdisc
authorJarek Poplawski <jarkao2@gmail.com>
Tue, 15 Sep 2009 09:53:07 +0000 (02:53 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 15 Sep 2009 09:53:07 +0000 (02:53 -0700)
commit3d07813126213373557c5834f50d6be64a372a45
tree512b532e22d4374948e0d149902304edfbef7e25
parent5e0e5617d008d105b5d6eaefd76db96982e0330e
pkt_sched: Fix tx queue selection in tc_modify_qdisc

After the recent mq change there is the new select_queue qdisc class
method used in tc_modify_qdisc, but it works OK only for direct child
qdiscs of mq qdisc. Grandchildren always get the first tx queue, which
would give wrong qdisc_root etc. results (e.g. for sch_htb as child of
sch_prio). This patch fixes it by using parent's dev_queue for such
grandchildren qdiscs. The select_queue method's return type is changed
BTW.

With feedback from: Patrick McHardy <kaber@trash.net>

Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/sch_generic.h
net/sched/sch_api.c
net/sched/sch_mq.c