| From foo@baz Sun 09 Feb 2020 10:47:54 PM CET |
| From: Vinicius Costa Gomes <vinicius.gomes@intel.com> |
| Date: Thu, 6 Feb 2020 13:46:09 -0800 |
| Subject: taprio: Use taprio_reset_tc() to reset Traffic Classes configuration |
| |
| 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); |