aboutsummaryrefslogtreecommitdiffstats
path: root/net/sched/sch_api.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/sched/sch_api.c')
-rw-r--r--net/sched/sch_api.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c
index 69e918bb4278..b86c98bd06a3 100644
--- a/net/sched/sch_api.c
+++ b/net/sched/sch_api.c
@@ -552,8 +552,8 @@ static int qdisc_graft(struct net_device *dev, struct Qdisc *parent,
552 */ 552 */
553 553
554static struct Qdisc * 554static struct Qdisc *
555qdisc_create(struct net_device *dev, u32 parent, u32 handle, 555qdisc_create(struct net_device *dev, struct netdev_queue *dev_queue,
556 struct nlattr **tca, int *errp) 556 u32 parent, u32 handle, struct nlattr **tca, int *errp)
557{ 557{
558 int err; 558 int err;
559 struct nlattr *kind = tca[TCA_KIND]; 559 struct nlattr *kind = tca[TCA_KIND];
@@ -593,7 +593,7 @@ qdisc_create(struct net_device *dev, u32 parent, u32 handle,
593 if (ops == NULL) 593 if (ops == NULL)
594 goto err_out; 594 goto err_out;
595 595
596 sch = qdisc_alloc(dev, ops); 596 sch = qdisc_alloc(dev, dev_queue, ops);
597 if (IS_ERR(sch)) { 597 if (IS_ERR(sch)) {
598 err = PTR_ERR(sch); 598 err = PTR_ERR(sch);
599 goto err_out2; 599 goto err_out2;
@@ -892,10 +892,12 @@ create_n_graft:
892 if (!(n->nlmsg_flags&NLM_F_CREATE)) 892 if (!(n->nlmsg_flags&NLM_F_CREATE))
893 return -ENOENT; 893 return -ENOENT;
894 if (clid == TC_H_INGRESS) 894 if (clid == TC_H_INGRESS)
895 q = qdisc_create(dev, tcm->tcm_parent, tcm->tcm_parent, 895 q = qdisc_create(dev, &dev->rx_queue,
896 tcm->tcm_parent, tcm->tcm_parent,
896 tca, &err); 897 tca, &err);
897 else 898 else
898 q = qdisc_create(dev, tcm->tcm_parent, tcm->tcm_handle, 899 q = qdisc_create(dev, &dev->tx_queue,
900 tcm->tcm_parent, tcm->tcm_handle,
899 tca, &err); 901 tca, &err);
900 if (q == NULL) { 902 if (q == NULL) {
901 if (err == -EAGAIN) 903 if (err == -EAGAIN)