diff options
Diffstat (limited to 'drivers/net/mace.c')
-rw-r--r-- | drivers/net/mace.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/mace.c b/drivers/net/mace.c index ab5f0bf6d1ae..b6855a6476f8 100644 --- a/drivers/net/mace.c +++ b/drivers/net/mace.c | |||
@@ -16,6 +16,7 @@ | |||
16 | #include <linux/crc32.h> | 16 | #include <linux/crc32.h> |
17 | #include <linux/spinlock.h> | 17 | #include <linux/spinlock.h> |
18 | #include <linux/bitrev.h> | 18 | #include <linux/bitrev.h> |
19 | #include <linux/slab.h> | ||
19 | #include <asm/prom.h> | 20 | #include <asm/prom.h> |
20 | #include <asm/dbdma.h> | 21 | #include <asm/dbdma.h> |
21 | #include <asm/io.h> | 22 | #include <asm/io.h> |
@@ -598,7 +599,7 @@ static void mace_set_multicast(struct net_device *dev) | |||
598 | mp->maccc |= PROM; | 599 | mp->maccc |= PROM; |
599 | } else { | 600 | } else { |
600 | unsigned char multicast_filter[8]; | 601 | unsigned char multicast_filter[8]; |
601 | struct dev_mc_list *dmi; | 602 | struct netdev_hw_addr *ha; |
602 | 603 | ||
603 | if (dev->flags & IFF_ALLMULTI) { | 604 | if (dev->flags & IFF_ALLMULTI) { |
604 | for (i = 0; i < 8; i++) | 605 | for (i = 0; i < 8; i++) |
@@ -606,8 +607,8 @@ static void mace_set_multicast(struct net_device *dev) | |||
606 | } else { | 607 | } else { |
607 | for (i = 0; i < 8; i++) | 608 | for (i = 0; i < 8; i++) |
608 | multicast_filter[i] = 0; | 609 | multicast_filter[i] = 0; |
609 | netdev_for_each_mc_addr(dmi, dev) { | 610 | netdev_for_each_mc_addr(ha, dev) { |
610 | crc = ether_crc_le(6, dmi->dmi_addr); | 611 | crc = ether_crc_le(6, ha->addr); |
611 | i = crc >> 26; /* bit number in multicast_filter */ | 612 | i = crc >> 26; /* bit number in multicast_filter */ |
612 | multicast_filter[i >> 3] |= 1 << (i & 7); | 613 | multicast_filter[i >> 3] |= 1 << (i & 7); |
613 | } | 614 | } |