]> git.baikalelectronics.ru Git - kernel.git/commitdiff
dpaa2-eth: fix return codes used in ndo_setup_tc
authorJesper Dangaard Brouer <brouer@redhat.com>
Thu, 23 Apr 2020 14:57:50 +0000 (16:57 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 24 Apr 2020 23:44:54 +0000 (16:44 -0700)
Drivers ndo_setup_tc call should return -EOPNOTSUPP, when it cannot
support the qdisc type. Other return values will result in failing the
qdisc setup.  This lead to qdisc noop getting assigned, which will
drop all TX packets on the interface.

Fixes: 8c10e674c0b5 ("dpaa2-eth: Add mqprio support")
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
Tested-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c

index 9d4061bba0b807fbac83e0b42280c6cadcdaf0af..d271c016229dc4fa701e203866b0037c7d0f1b32 100644 (file)
@@ -2021,7 +2021,7 @@ static int dpaa2_eth_setup_tc(struct net_device *net_dev,
        int i;
 
        if (type != TC_SETUP_QDISC_MQPRIO)
-               return -EINVAL;
+               return -EOPNOTSUPP;
 
        mqprio->hw = TC_MQPRIO_HW_OFFLOAD_TCS;
        num_queues = dpaa2_eth_queue_count(priv);
@@ -2033,7 +2033,7 @@ static int dpaa2_eth_setup_tc(struct net_device *net_dev,
        if (num_tc  > dpaa2_eth_tc_count(priv)) {
                netdev_err(net_dev, "Max %d traffic classes supported\n",
                           dpaa2_eth_tc_count(priv));
-               return -EINVAL;
+               return -EOPNOTSUPP;
        }
 
        if (!num_tc) {