net/mlx4_en: Use the correct netif lock on ndo_set_rx_mode
authorEugenia Emantayev <eugenia@mellanox.com>
Thu, 24 Jan 2013 01:54:16 +0000 (01:54 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Jan 2013 05:13:56 +0000 (00:13 -0500)
The device multicast list is protected by netif_addr_lock_bh in the networking core, we should
use this locking practice in mlx4_en too.

Signed-off-by: Eugenia Emantayev <eugenia@mellanox.com>
Signed-off-by: Amir Vadai <amirv@mellanox.com>
Reviewed-by: Yevgeny Petrilin <yevgenyp@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx4/en_netdev.c

index bab8cec866589dbf1b279300a5f30ccfd3e08224..805e24233b1be77bc9fb1e78203dee31585d6027 100644 (file)
@@ -767,9 +767,9 @@ static void mlx4_en_do_set_multicast(struct work_struct *work)
 
                /* Update multicast list - we cache all addresses so they won't
                 * change while HW is updated holding the command semaphor */
-               netif_tx_lock_bh(dev);
+               netif_addr_lock_bh(dev);
                mlx4_en_cache_mclist(dev);
-               netif_tx_unlock_bh(dev);
+               netif_addr_unlock_bh(dev);
                list_for_each_entry(mclist, &priv->mc_list, list) {
                        mcast_addr = mlx4_en_mac_to_u64(mclist->addr);
                        mlx4_SET_MCAST_FLTR(mdev->dev, priv->port,