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 | } | 
