diff options
Diffstat (limited to 'drivers/net/via-rhine.c')
-rw-r--r-- | drivers/net/via-rhine.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/via-rhine.c b/drivers/net/via-rhine.c index a7e0c84426ea..85df7ac636b5 100644 --- a/drivers/net/via-rhine.c +++ b/drivers/net/via-rhine.c | |||
@@ -1697,7 +1697,7 @@ static void rhine_set_rx_mode(struct net_device *dev) | |||
1697 | rx_mode = 0x1C; | 1697 | rx_mode = 0x1C; |
1698 | iowrite32(0xffffffff, ioaddr + MulticastFilter0); | 1698 | iowrite32(0xffffffff, ioaddr + MulticastFilter0); |
1699 | iowrite32(0xffffffff, ioaddr + MulticastFilter1); | 1699 | iowrite32(0xffffffff, ioaddr + MulticastFilter1); |
1700 | } else if ((dev->mc_count > multicast_filter_limit) || | 1700 | } else if ((netdev_mc_count(dev) > multicast_filter_limit) || |
1701 | (dev->flags & IFF_ALLMULTI)) { | 1701 | (dev->flags & IFF_ALLMULTI)) { |
1702 | /* Too many to match, or accept all multicasts. */ | 1702 | /* Too many to match, or accept all multicasts. */ |
1703 | iowrite32(0xffffffff, ioaddr + MulticastFilter0); | 1703 | iowrite32(0xffffffff, ioaddr + MulticastFilter0); |
@@ -1707,7 +1707,8 @@ static void rhine_set_rx_mode(struct net_device *dev) | |||
1707 | struct dev_mc_list *mclist; | 1707 | struct dev_mc_list *mclist; |
1708 | int i; | 1708 | int i; |
1709 | memset(mc_filter, 0, sizeof(mc_filter)); | 1709 | memset(mc_filter, 0, sizeof(mc_filter)); |
1710 | for (i = 0, mclist = dev->mc_list; mclist && i < dev->mc_count; | 1710 | for (i = 0, mclist = dev->mc_list; |
1711 | mclist && i < netdev_mc_count(dev); | ||
1711 | i++, mclist = mclist->next) { | 1712 | i++, mclist = mclist->next) { |
1712 | int bit_nr = ether_crc(ETH_ALEN, mclist->dmi_addr) >> 26; | 1713 | int bit_nr = ether_crc(ETH_ALEN, mclist->dmi_addr) >> 26; |
1713 | 1714 | ||