]> Pileus Git - ~andy/linux/blobdiff - drivers/net/natsemi.c
ath5k: Use high bitrates for ACK/CTS
[~andy/linux] / drivers / net / natsemi.c
index 2d7b3bbfed012df5a53f23486034f3c059cb0e41..e52038783245c86e694807e197eb997f12c74b37 100644 (file)
@@ -2488,16 +2488,16 @@ static void __set_rx_mode(struct net_device *dev)
        if (dev->flags & IFF_PROMISC) { /* Set promiscuous. */
                rx_mode = RxFilterEnable | AcceptBroadcast
                        | AcceptAllMulticast | AcceptAllPhys | AcceptMyPhys;
-       } else if ((dev->mc_count > multicast_filter_limit) ||
+       } else if ((netdev_mc_count(dev) > multicast_filter_limit) ||
                   (dev->flags & IFF_ALLMULTI)) {
                rx_mode = RxFilterEnable | AcceptBroadcast
                        | AcceptAllMulticast | AcceptMyPhys;
        } else {
                struct dev_mc_list *mclist;
                int i;
+
                memset(mc_filter, 0, sizeof(mc_filter));
-               for (i = 0, mclist = dev->mc_list; mclist && i < dev->mc_count;
-                        i++, mclist = mclist->next) {
+               netdev_for_each_mc_addr(mclist, dev) {
                        int b = (ether_crc(ETH_ALEN, mclist->dmi_addr) >> 23) & 0x1ff;
                        mc_filter[b/8] |= (1 << (b & 0x07));
                }