]> Pileus Git - ~andy/linux/blobdiff - drivers/net/dl2k.c
ath5k: Use high bitrates for ACK/CTS
[~andy/linux] / drivers / net / dl2k.c
index 2a8b6a7c0b87290f690630c4d2dc3958db59b9c1..b05bad8298273cb6abf87f8f097dbfa1773519d7 100644 (file)
@@ -1128,19 +1128,16 @@ set_multicast (struct net_device *dev)
                /* Receive all frames promiscuously. */
                rx_mode = ReceiveAllFrames;
        } else if ((dev->flags & IFF_ALLMULTI) ||
-                       (dev->mc_count > multicast_filter_limit)) {
+                       (netdev_mc_count(dev) > multicast_filter_limit)) {
                /* Receive broadcast and multicast frames */
                rx_mode = ReceiveBroadcast | ReceiveMulticast | ReceiveUnicast;
-       } else if (dev->mc_count > 0) {
-               int i;
+       } else if (!netdev_mc_empty(dev)) {
                struct dev_mc_list *mclist;
                /* Receive broadcast frames and multicast frames filtering
                   by Hashtable */
                rx_mode =
                    ReceiveBroadcast | ReceiveMulticastHash | ReceiveUnicast;
-               for (i=0, mclist = dev->mc_list; mclist && i < dev->mc_count;
-                               i++, mclist=mclist->next)
-               {
+               netdev_for_each_mc_addr(mclist, dev) {
                        int bit, index = 0;
                        int crc = ether_crc_le (ETH_ALEN, mclist->dmi_addr);
                        /* The inverted high significant 6 bits of CRC are