Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
[linux-2.6-microblaze.git] / drivers / net / usb / smsc95xx.c
index 73f9a31..12a3c88 100644 (file)
@@ -28,6 +28,7 @@
 #include <linux/usb.h>
 #include <linux/crc32.h>
 #include <linux/usb/usbnet.h>
+#include <linux/slab.h>
 #include "smsc95xx.h"
 
 #define SMSC_CHIPNAME                  "smsc95xx"
@@ -384,13 +385,13 @@ static void smsc95xx_set_multicast(struct net_device *netdev)
                pdata->mac_cr |= MAC_CR_MCPAS_;
                pdata->mac_cr &= ~(MAC_CR_PRMS_ | MAC_CR_HPFILT_);
        } else if (!netdev_mc_empty(dev->net)) {
-               struct dev_mc_list *mc_list;
+               struct netdev_hw_addr *ha;
 
                pdata->mac_cr |= MAC_CR_HPFILT_;
                pdata->mac_cr &= ~(MAC_CR_PRMS_ | MAC_CR_MCPAS_);
 
-               netdev_for_each_mc_addr(mc_list, netdev) {
-                       u32 bitnum = smsc95xx_hash(mc_list->dmi_addr);
+               netdev_for_each_mc_addr(ha, netdev) {
+                       u32 bitnum = smsc95xx_hash(ha->addr);
                        u32 mask = 0x01 << (bitnum & 0x1F);
                        if (bitnum & 0x20)
                                hash_hi |= mask;