]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/net/wireless/zd1201.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit...
[mv-sheeva.git] / drivers / net / wireless / zd1201.c
index 33c8be7ec8e6e4bf9aef305e14d7da48ca4e9f27..9d12778746452161990e55363487b312dc449be8 100644 (file)
@@ -14,6 +14,7 @@
 
 #include <linux/module.h>
 #include <linux/usb.h>
+#include <linux/slab.h>
 #include <linux/netdevice.h>
 #include <linux/etherdevice.h>
 #include <linux/wireless.h>
@@ -875,20 +876,18 @@ static struct iw_statistics *zd1201_get_wireless_stats(struct net_device *dev)
 static void zd1201_set_multicast(struct net_device *dev)
 {
        struct zd1201 *zd = netdev_priv(dev);
-       struct dev_mc_list *mc = dev->mc_list;
+       struct dev_mc_list *mc;
        unsigned char reqbuf[ETH_ALEN*ZD1201_MAXMULTI];
        int i;
 
-       if (dev->mc_count > ZD1201_MAXMULTI)
+       if (netdev_mc_count(dev) > ZD1201_MAXMULTI)
                return;
 
-       for (i=0; i<dev->mc_count; i++) {
-               memcpy(reqbuf+i*ETH_ALEN, mc->dmi_addr, ETH_ALEN);
-               mc = mc->next;
-       }
+       i = 0;
+       netdev_for_each_mc_addr(mc, dev)
+               memcpy(reqbuf + i++ * ETH_ALEN, mc->dmi_addr, ETH_ALEN);
        zd1201_setconfig(zd, ZD1201_RID_CNFGROUPADDRESS, reqbuf,
-           dev->mc_count*ETH_ALEN, 0);
-       
+                        netdev_mc_count(dev) * ETH_ALEN, 0);
 }
 
 static int zd1201_config_commit(struct net_device *dev,