[PATCH 5.5 338/367] taprio: Use taprio_reset_tc() to reset Traffic Classes configuration

Greg Kroah-Hartman
2020-02-10T12:52:45Z

From: Vinicius Costa Gomes <vinicius.gomes@intel.com>

[ 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@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
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);