aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/mace.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/mace.c')
-rw-r--r--drivers/net/mace.c7
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 }