net: convert multiple drivers to use netdev_for_each_mc_addr, part2
Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
2a0d18f97c
commit
5508590c19
@@ -1602,11 +1602,10 @@ static int efx_set_mac_address(struct net_device *net_dev, void *data)
|
||||
static void efx_set_multicast_list(struct net_device *net_dev)
|
||||
{
|
||||
struct efx_nic *efx = netdev_priv(net_dev);
|
||||
struct dev_mc_list *mc_list = net_dev->mc_list;
|
||||
struct dev_mc_list *mc_list;
|
||||
union efx_multicast_hash *mc_hash = &efx->multicast_hash;
|
||||
u32 crc;
|
||||
int bit;
|
||||
int i;
|
||||
|
||||
efx->promiscuous = !!(net_dev->flags & IFF_PROMISC);
|
||||
|
||||
@@ -1615,11 +1614,10 @@ static void efx_set_multicast_list(struct net_device *net_dev)
|
||||
memset(mc_hash, 0xff, sizeof(*mc_hash));
|
||||
} else {
|
||||
memset(mc_hash, 0x00, sizeof(*mc_hash));
|
||||
for (i = 0; i < netdev_mc_count(net_dev); i++) {
|
||||
netdev_for_each_mc_addr(mc_list, net_dev) {
|
||||
crc = ether_crc_le(ETH_ALEN, mc_list->dmi_addr);
|
||||
bit = crc & (EFX_MCAST_HASH_ENTRIES - 1);
|
||||
set_bit_le(bit, mc_hash->byte);
|
||||
mc_list = mc_list->next;
|
||||
}
|
||||
|
||||
/* Broadcast packets go through the multicast hash filter.
|
||||
|
Reference in New Issue
Block a user