[PATCH 5.4 280/309] taprio: Use taprio_reset_tc() to reset Traffic Classes configuration

From: Greg Kroah-Hartman
Date: Mon Feb 10 2020 - 08:12:20 EST


From: Vinicius Costa Gomes <vinicius.gomes@xxxxxxxxx>

[ Upstream commit 7c16680a08ee1e444a67d232c679ccf5b30fad16 ]

When destroying the current taprio instance, which can happen when the
creation of one fails, we should reset the traffic class configuration
back to the default state.

netdev_reset_tc() is a better way because in addition to setting the
number of traffic classes to zero, it also resets the priority to
traffic classes mapping to the default value.

Fixes: 5a781ccbd19e ("tc: Add support for configuring the taprio scheduler")
Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@xxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
net/sched/sch_taprio.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/net/sched/sch_taprio.c
+++ b/net/sched/sch_taprio.c
@@ -1588,7 +1588,7 @@ static void taprio_destroy(struct Qdisc
}
q->qdiscs = NULL;

- netdev_set_num_tc(dev, 0);
+ netdev_reset_tc(dev);

if (q->oper_sched)
call_rcu(&q->oper_sched->rcu, taprio_free_sched_cb);