diff options
Diffstat (limited to 'net/sched/sch_mq.c')
| -rw-r--r-- | net/sched/sch_mq.c | 4 | 
1 files changed, 3 insertions, 1 deletions
| diff --git a/net/sched/sch_mq.c b/net/sched/sch_mq.c index 0a4b2f9a0094..5da78a19ac9a 100644 --- a/net/sched/sch_mq.c +++ b/net/sched/sch_mq.c @@ -63,6 +63,7 @@ static int mq_init(struct Qdisc *sch, struct nlattr *opt)  		if (qdisc == NULL)  			goto err;  		priv->qdiscs[ntx] = qdisc; +		qdisc->flags |= TCQ_F_ONETXQUEUE;  	}  	sch->flags |= TCQ_F_MQROOT; @@ -150,7 +151,8 @@ static int mq_graft(struct Qdisc *sch, unsigned long cl, struct Qdisc *new,  		dev_deactivate(dev);  	*old = dev_graft_qdisc(dev_queue, new); - +	if (new) +		new->flags |= TCQ_F_ONETXQUEUE;  	if (dev->flags & IFF_UP)  		dev_activate(dev);  	return 0; |