aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/au1000_eth.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/au1000_eth.c')
-rw-r--r--drivers/net/au1000_eth.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/net/au1000_eth.c b/drivers/net/au1000_eth.c
index 9337d023919c..a66b06aa1f0b 100644
--- a/drivers/net/au1000_eth.c
+++ b/drivers/net/au1000_eth.c
@@ -1018,16 +1018,13 @@ static void au1000_multicast_list(struct net_device *dev)
1018 aup->mac->control &= ~MAC_PROMISCUOUS; 1018 aup->mac->control &= ~MAC_PROMISCUOUS;
1019 printk(KERN_INFO "%s: Pass all multicast\n", dev->name); 1019 printk(KERN_INFO "%s: Pass all multicast\n", dev->name);
1020 } else { 1020 } else {
1021 int i;
1022 struct dev_mc_list *mclist; 1021 struct dev_mc_list *mclist;
1023 u32 mc_filter[2]; /* Multicast hash filter */ 1022 u32 mc_filter[2]; /* Multicast hash filter */
1024 1023
1025 mc_filter[1] = mc_filter[0] = 0; 1024 mc_filter[1] = mc_filter[0] = 0;
1026 for (i = 0, mclist = dev->mc_list; mclist && i < netdev_mc_count(dev); 1025 netdev_for_each_mc_addr(mclist, dev)
1027 i++, mclist = mclist->next) {
1028 set_bit(ether_crc(ETH_ALEN, mclist->dmi_addr)>>26, 1026 set_bit(ether_crc(ETH_ALEN, mclist->dmi_addr)>>26,
1029 (long *)mc_filter); 1027 (long *)mc_filter);
1030 }
1031 aup->mac->multi_hash_high = mc_filter[1]; 1028 aup->mac->multi_hash_high = mc_filter[1];
1032 aup->mac->multi_hash_low = mc_filter[0]; 1029 aup->mac->multi_hash_low = mc_filter[0];
1033 aup->mac->control &= ~MAC_PROMISCUOUS; 1030 aup->mac->control &= ~MAC_PROMISCUOUS;