]> Pileus Git - ~andy/linux/blobdiff - drivers/net/iseries_veth.c
ath5k: Use high bitrates for ACK/CTS
[~andy/linux] / drivers / net / iseries_veth.c
index 16c91910d6c1327136e59c38674704fcb03056c8..966de5d69521e46e1abfbdb2a12afb5824135a81 100644 (file)
@@ -958,18 +958,17 @@ static void veth_set_multicast_list(struct net_device *dev)
        write_lock_irqsave(&port->mcast_gate, flags);
 
        if ((dev->flags & IFF_PROMISC) || (dev->flags & IFF_ALLMULTI) ||
-                       (dev->mc_count > VETH_MAX_MCAST)) {
+                       (netdev_mc_count(dev) > VETH_MAX_MCAST)) {
                port->promiscuous = 1;
        } else {
-               struct dev_mc_list *dmi = dev->mc_list;
-               int i;
+               struct dev_mc_list *dmi;
 
                port->promiscuous = 0;
 
                /* Update table */
                port->num_mcast = 0;
 
-               for (i = 0; i < dev->mc_count; i++) {
+               netdev_for_each_mc_addr(dmi, dev) {
                        u8 *addr = dmi->dmi_addr;
                        u64 xaddr = 0;
 
@@ -978,7 +977,6 @@ static void veth_set_multicast_list(struct net_device *dev)
                                port->mcast_addr[port->num_mcast] = xaddr;
                                port->num_mcast++;
                        }
-                       dmi = dmi->next;
                }
        }