OSDN Git Service

net: stmmac: Fix incorrect location to set real_num_rx|tx_queues
authorAashish Verma <aashishx.verma@intel.com>
Tue, 15 Sep 2020 01:28:39 +0000 (09:28 +0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 15 Sep 2020 22:39:47 +0000 (15:39 -0700)
netif_set_real_num_tx_queues() & netif_set_real_num_rx_queues() should be
used to inform network stack about the real Tx & Rx queue (active) number
in both stmmac_open() and stmmac_resume(), therefore, we move the code
from stmmac_dvr_probe() to stmmac_hw_setup().

Fixes: c02b7a914551 net: stmmac: use netif_set_real_num_{rx,tx}_queues

Signed-off-by: Aashish Verma <aashishx.verma@intel.com>
Signed-off-by: Ong Boon Leong <boon.leong.ong@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c

index c0e440d..178aa33 100644 (file)
@@ -2732,6 +2732,10 @@ static int stmmac_hw_setup(struct net_device *dev, bool init_ptp)
                stmmac_enable_tbs(priv, priv->ioaddr, enable, chan);
        }
 
+       /* Configure real RX and TX queues */
+       netif_set_real_num_rx_queues(dev, priv->plat->rx_queues_to_use);
+       netif_set_real_num_tx_queues(dev, priv->plat->tx_queues_to_use);
+
        /* Start the ball rolling... */
        stmmac_start_all_dma(priv);
 
@@ -4882,10 +4886,6 @@ int stmmac_dvr_probe(struct device *device,
 
        stmmac_check_ether_addr(priv);
 
-       /* Configure real RX and TX queues */
-       netif_set_real_num_rx_queues(ndev, priv->plat->rx_queues_to_use);
-       netif_set_real_num_tx_queues(ndev, priv->plat->tx_queues_to_use);
-
        ndev->netdev_ops = &stmmac_netdev_ops;
 
        ndev->hw_features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM |