net/mlx4_core: Get num_tc using netdev_get_num_tc
authorAlaa Hleihel <alaa@mellanox.com>
Sun, 29 Jan 2017 16:56:16 +0000 (18:56 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 30 Jan 2017 20:26:42 +0000 (15:26 -0500)
Avoid reading num_tc directly from struct net_device, but use
the helper function netdev_get_num_tc.

Fixes: bc6a4744b827 ("net/mlx4_en: num cores tx rings for every UP")
Fixes: f5b6345ba8da ("net/mlx4_en: User prio mapping gets corrupted when changing number of channels")
Signed-off-by: Alaa Hleihel <alaa@mellanox.com>
Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
drivers/net/ethernet/mellanox/mlx4/en_tx.c

index 17a600b..785757f 100644 (file)
@@ -1788,7 +1788,7 @@ static int mlx4_en_set_channels(struct net_device *dev,
        netif_set_real_num_tx_queues(dev, priv->tx_ring_num[TX]);
        netif_set_real_num_rx_queues(dev, priv->rx_ring_num);
 
-       if (dev->num_tc)
+       if (netdev_get_num_tc(dev))
                mlx4_en_setup_tc(dev, MLX4_EN_NUM_UP);
 
        en_warn(priv, "Using %d TX rings\n", priv->tx_ring_num[TX]);
index 5886ad7..3ed4219 100644 (file)
@@ -710,7 +710,7 @@ u16 mlx4_en_select_queue(struct net_device *dev, struct sk_buff *skb,
        u16 rings_p_up = priv->num_tx_rings_p_up;
        u8 up = 0;
 
-       if (dev->num_tc)
+       if (netdev_get_num_tc(dev))
                return skb_tx_hash(dev, skb);
 
        if (skb_vlan_tag_present(skb))