diff options
Diffstat (limited to 'drivers/net/via-rhine.c')
-rw-r--r-- | drivers/net/via-rhine.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/net/via-rhine.c b/drivers/net/via-rhine.c index 85df7ac636b5..50f881aa3939 100644 --- a/drivers/net/via-rhine.c +++ b/drivers/net/via-rhine.c | |||
@@ -1705,11 +1705,9 @@ static void rhine_set_rx_mode(struct net_device *dev) | |||
1705 | rx_mode = 0x0C; | 1705 | rx_mode = 0x0C; |
1706 | } else { | 1706 | } else { |
1707 | struct dev_mc_list *mclist; | 1707 | struct dev_mc_list *mclist; |
1708 | int i; | 1708 | |
1709 | memset(mc_filter, 0, sizeof(mc_filter)); | 1709 | memset(mc_filter, 0, sizeof(mc_filter)); |
1710 | for (i = 0, mclist = dev->mc_list; | 1710 | netdev_for_each_mc_addr(mclist, dev) { |
1711 | mclist && i < netdev_mc_count(dev); | ||
1712 | i++, mclist = mclist->next) { | ||
1713 | int bit_nr = ether_crc(ETH_ALEN, mclist->dmi_addr) >> 26; | 1711 | int bit_nr = ether_crc(ETH_ALEN, mclist->dmi_addr) >> 26; |
1714 | 1712 | ||
1715 | mc_filter[bit_nr >> 5] |= 1 << (bit_nr & 31); | 1713 | mc_filter[bit_nr >> 5] |= 1 << (bit_nr & 31); |