]> Pileus Git - ~andy/linux/blobdiff - drivers/net/3c505.c
ath5k: Use high bitrates for ACK/CTS
[~andy/linux] / drivers / net / 3c505.c
index dadb46a8833a50049003f0092fa6577e0895f249..04b5bba19021c8c93f340b0aa814dc93e3305a60 100644 (file)
@@ -1216,7 +1216,7 @@ static int elp_close(struct net_device *dev)
 static void elp_set_mc_list(struct net_device *dev)
 {
        elp_device *adapter = netdev_priv(dev);
-       struct dev_mc_list *dmi = dev->mc_list;
+       struct dev_mc_list *dmi;
        int i;
        unsigned long flags;
 
@@ -1230,10 +1230,9 @@ static void elp_set_mc_list(struct net_device *dev)
                /* if num_addrs==0 the list will be cleared */
                adapter->tx_pcb.command = CMD_LOAD_MULTICAST_LIST;
                adapter->tx_pcb.length = 6 * netdev_mc_count(dev);
-               for (i = 0; i < netdev_mc_count(dev); i++) {
-                       memcpy(adapter->tx_pcb.data.multicast[i], dmi->dmi_addr, 6);
-                       dmi = dmi->next;
-               }
+               i = 0;
+               netdev_for_each_mc_addr(dmi, dev)
+                       memcpy(adapter->tx_pcb.data.multicast[i++], dmi->dmi_addr, 6);
                adapter->got[CMD_LOAD_MULTICAST_LIST] = 0;
                if (!send_pcb(dev, &adapter->tx_pcb))
                        pr_err("%s: couldn't send set_multicast command\n", dev->name);