diff options
Diffstat (limited to 'drivers/net/depca.c')
-rw-r--r-- | drivers/net/depca.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/net/depca.c b/drivers/net/depca.c index 0c1f491d20bf..744c1928dfca 100644 --- a/drivers/net/depca.c +++ b/drivers/net/depca.c | |||
@@ -1272,7 +1272,7 @@ static void set_multicast_list(struct net_device *dev) | |||
1272 | static void SetMulticastFilter(struct net_device *dev) | 1272 | static void SetMulticastFilter(struct net_device *dev) |
1273 | { | 1273 | { |
1274 | struct depca_private *lp = netdev_priv(dev); | 1274 | struct depca_private *lp = netdev_priv(dev); |
1275 | struct dev_mc_list *dmi = dev->mc_list; | 1275 | struct dev_mc_list *dmi; |
1276 | char *addrs; | 1276 | char *addrs; |
1277 | int i, j, bit, byte; | 1277 | int i, j, bit, byte; |
1278 | u16 hashcode; | 1278 | u16 hashcode; |
@@ -1287,9 +1287,8 @@ static void SetMulticastFilter(struct net_device *dev) | |||
1287 | lp->init_block.mcast_table[i] = 0; | 1287 | lp->init_block.mcast_table[i] = 0; |
1288 | } | 1288 | } |
1289 | /* Add multicast addresses */ | 1289 | /* Add multicast addresses */ |
1290 | for (i = 0; i < dev->mc_count; i++) { /* for each address in the list */ | 1290 | netdev_for_each_mc_addr(dmi, dev) { |
1291 | addrs = dmi->dmi_addr; | 1291 | addrs = dmi->dmi_addr; |
1292 | dmi = dmi->next; | ||
1293 | if ((*addrs & 0x01) == 1) { /* multicast address? */ | 1292 | if ((*addrs & 0x01) == 1) { /* multicast address? */ |
1294 | crc = ether_crc(ETH_ALEN, addrs); | 1293 | crc = ether_crc(ETH_ALEN, addrs); |
1295 | hashcode = (crc & 1); /* hashcode is 6 LSb of CRC ... */ | 1294 | hashcode = (crc & 1); /* hashcode is 6 LSb of CRC ... */ |