diff options
Diffstat (limited to 'drivers/net/bmac.c')
-rw-r--r-- | drivers/net/bmac.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/net/bmac.c b/drivers/net/bmac.c index 189fa69c2094..119468e76323 100644 --- a/drivers/net/bmac.c +++ b/drivers/net/bmac.c | |||
@@ -1000,7 +1000,7 @@ static void bmac_set_multicast(struct net_device *dev) | |||
1000 | rx_cfg = bmac_rx_on(dev, 0, 0); | 1000 | rx_cfg = bmac_rx_on(dev, 0, 0); |
1001 | XXDEBUG(("bmac: multi disabled, rx_cfg=%#08x\n", rx_cfg)); | 1001 | XXDEBUG(("bmac: multi disabled, rx_cfg=%#08x\n", rx_cfg)); |
1002 | } else { | 1002 | } else { |
1003 | for (dmi=dev->mc_list; dmi!=NULL; dmi=dmi->next) | 1003 | netdev_for_each_mc_addr(dmi, dev) |
1004 | bmac_addhash(bp, dmi->dmi_addr); | 1004 | bmac_addhash(bp, dmi->dmi_addr); |
1005 | bmac_update_hash_table_mask(dev, bp); | 1005 | bmac_update_hash_table_mask(dev, bp); |
1006 | rx_cfg = bmac_rx_on(dev, 1, 0); | 1006 | rx_cfg = bmac_rx_on(dev, 1, 0); |
@@ -1015,7 +1015,7 @@ static void bmac_set_multicast(struct net_device *dev) | |||
1015 | 1015 | ||
1016 | static void bmac_set_multicast(struct net_device *dev) | 1016 | static void bmac_set_multicast(struct net_device *dev) |
1017 | { | 1017 | { |
1018 | struct dev_mc_list *dmi = dev->mc_list; | 1018 | struct dev_mc_list *dmi; |
1019 | char *addrs; | 1019 | char *addrs; |
1020 | int i; | 1020 | int i; |
1021 | unsigned short rx_cfg; | 1021 | unsigned short rx_cfg; |
@@ -1039,9 +1039,8 @@ static void bmac_set_multicast(struct net_device *dev) | |||
1039 | 1039 | ||
1040 | for(i = 0; i < 4; i++) hash_table[i] = 0; | 1040 | for(i = 0; i < 4; i++) hash_table[i] = 0; |
1041 | 1041 | ||
1042 | for(i = 0; i < netdev_mc_count(dev); i++) { | 1042 | netdev_for_each_mc_addr(dmi, dev) { |
1043 | addrs = dmi->dmi_addr; | 1043 | addrs = dmi->dmi_addr; |
1044 | dmi = dmi->next; | ||
1045 | 1044 | ||
1046 | if(!(*addrs & 1)) | 1045 | if(!(*addrs & 1)) |
1047 | continue; | 1046 | continue; |