sch_taprio.c (d64c6f96ba86bd8b97ed8d6762a8c8cc1770d214) sch_taprio.c (698285da79f5b0b099db15a37ac661ac408c80eb)
1// SPDX-License-Identifier: GPL-2.0
2
3/* net/sched/sch_taprio.c Time Aware Priority Scheduler
4 *
5 * Authors: Vinicius Costa Gomes <vinicius.gomes@intel.com>
6 *
7 */
8

--- 1591 unchanged lines hidden (view full) ---

1600static void taprio_reset(struct Qdisc *sch)
1601{
1602 struct taprio_sched *q = qdisc_priv(sch);
1603 struct net_device *dev = qdisc_dev(sch);
1604 int i;
1605
1606 hrtimer_cancel(&q->advance_timer);
1607 if (q->qdiscs) {
1// SPDX-License-Identifier: GPL-2.0
2
3/* net/sched/sch_taprio.c Time Aware Priority Scheduler
4 *
5 * Authors: Vinicius Costa Gomes <vinicius.gomes@intel.com>
6 *
7 */
8

--- 1591 unchanged lines hidden (view full) ---

1600static void taprio_reset(struct Qdisc *sch)
1601{
1602 struct taprio_sched *q = qdisc_priv(sch);
1603 struct net_device *dev = qdisc_dev(sch);
1604 int i;
1605
1606 hrtimer_cancel(&q->advance_timer);
1607 if (q->qdiscs) {
1608 for (i = 0; i < dev->num_tx_queues && q->qdiscs[i]; i++)
1609 qdisc_reset(q->qdiscs[i]);
1608 for (i = 0; i < dev->num_tx_queues; i++)
1609 if (q->qdiscs[i])
1610 qdisc_reset(q->qdiscs[i]);
1610 }
1611 sch->qstats.backlog = 0;
1612 sch->q.qlen = 0;
1613}
1614
1615static void taprio_destroy(struct Qdisc *sch)
1616{
1617 struct taprio_sched *q = qdisc_priv(sch);
1618 struct net_device *dev = qdisc_dev(sch);
1619 unsigned int i;
1620
1621 spin_lock(&taprio_list_lock);
1622 list_del(&q->taprio_list);
1623 spin_unlock(&taprio_list_lock);
1624
1625
1626 taprio_disable_offload(dev, q, NULL);
1627
1628 if (q->qdiscs) {
1611 }
1612 sch->qstats.backlog = 0;
1613 sch->q.qlen = 0;
1614}
1615
1616static void taprio_destroy(struct Qdisc *sch)
1617{
1618 struct taprio_sched *q = qdisc_priv(sch);
1619 struct net_device *dev = qdisc_dev(sch);
1620 unsigned int i;
1621
1622 spin_lock(&taprio_list_lock);
1623 list_del(&q->taprio_list);
1624 spin_unlock(&taprio_list_lock);
1625
1626
1627 taprio_disable_offload(dev, q, NULL);
1628
1629 if (q->qdiscs) {
1629 for (i = 0; i < dev->num_tx_queues && q->qdiscs[i]; i++)
1630 for (i = 0; i < dev->num_tx_queues; i++)
1630 qdisc_put(q->qdiscs[i]);
1631
1632 kfree(q->qdiscs);
1633 }
1634 q->qdiscs = NULL;
1635
1636 netdev_reset_tc(dev);
1637

--- 364 unchanged lines hidden ---
1631 qdisc_put(q->qdiscs[i]);
1632
1633 kfree(q->qdiscs);
1634 }
1635 q->qdiscs = NULL;
1636
1637 netdev_reset_tc(dev);
1638

--- 364 unchanged lines hidden ---