Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ac7100ba authored by Ben Hutchings's avatar Ben Hutchings
Browse files

sch_mqprio: Always set num_tc to 0 in mqprio_destroy()



All the cleanup code in mqprio_destroy() is currently conditional on
priv->qdiscs being non-null, but that condition should only apply to
the per-queue qdisc cleanup.  We should always set the number of
traffic classes back to 0 here.

Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
parent 263fb5b1
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -29,18 +29,18 @@ static void mqprio_destroy(struct Qdisc *sch)
	struct mqprio_sched *priv = qdisc_priv(sch);
	unsigned int ntx;

	if (!priv->qdiscs)
		return;

	for (ntx = 0; ntx < dev->num_tx_queues && priv->qdiscs[ntx]; ntx++)
	if (priv->qdiscs) {
		for (ntx = 0;
		     ntx < dev->num_tx_queues && priv->qdiscs[ntx];
		     ntx++)
			qdisc_destroy(priv->qdiscs[ntx]);
		kfree(priv->qdiscs);
	}

	if (priv->hw_owned && dev->netdev_ops->ndo_setup_tc)
		dev->netdev_ops->ndo_setup_tc(dev, 0);
	else
		netdev_set_num_tc(dev, 0);

	kfree(priv->qdiscs);
}

static int mqprio_parse_opt(struct net_device *dev, struct tc_mqprio_qopt *qopt)