aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/eexpress.c
diff options
context:
space:
mode:
authorJiri Pirko <jpirko@redhat.com>2010-02-22 04:22:26 -0500
committerDavid S. Miller <davem@davemloft.net>2010-02-22 18:45:52 -0500
commit48e2f183cb1709600012265a2e723f45a350d5fe (patch)
tree608368bda6f159342c307deca3b03998d25434c8 /drivers/net/eexpress.c
parent7a81e9f3ca712db82344ea3ab2a5879241f59c48 (diff)
net: convert multiple drivers to use netdev_for_each_mc_addr, part4
Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/eexpress.c')
-rw-r--r--drivers/net/eexpress.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/drivers/net/eexpress.c b/drivers/net/eexpress.c
index d804ff18eda8..7013dc8a6cbc 100644
--- a/drivers/net/eexpress.c
+++ b/drivers/net/eexpress.c
@@ -1588,23 +1588,19 @@ static void eexp_setup_filter(struct net_device *dev)
1588 1588
1589 outw(CONF_NR_MULTICAST & ~31, ioaddr+SM_PTR); 1589 outw(CONF_NR_MULTICAST & ~31, ioaddr+SM_PTR);
1590 outw(6*count, ioaddr+SHADOW(CONF_NR_MULTICAST)); 1590 outw(6*count, ioaddr+SHADOW(CONF_NR_MULTICAST));
1591 for (i = 0, dmi = dev->mc_list; i < count; i++, dmi = dmi->next) { 1591 i = 0;
1592 unsigned short *data; 1592 netdev_for_each_mc_addr(dmi, dev) {
1593 if (!dmi) { 1593 unsigned short *data = (unsigned short *) dmi->dmi_addr;
1594 printk(KERN_INFO "%s: too few multicast addresses\n", dev->name); 1594
1595 if (i == count)
1595 break; 1596 break;
1596 }
1597 if (dmi->dmi_addrlen != ETH_ALEN) {
1598 printk(KERN_INFO "%s: invalid multicast address length given.\n", dev->name);
1599 continue;
1600 }
1601 data = (unsigned short *)dmi->dmi_addr;
1602 outw((CONF_MULTICAST+(6*i)) & ~31, ioaddr+SM_PTR); 1597 outw((CONF_MULTICAST+(6*i)) & ~31, ioaddr+SM_PTR);
1603 outw(data[0], ioaddr+SHADOW(CONF_MULTICAST+(6*i))); 1598 outw(data[0], ioaddr+SHADOW(CONF_MULTICAST+(6*i)));
1604 outw((CONF_MULTICAST+(6*i)+2) & ~31, ioaddr+SM_PTR); 1599 outw((CONF_MULTICAST+(6*i)+2) & ~31, ioaddr+SM_PTR);
1605 outw(data[1], ioaddr+SHADOW(CONF_MULTICAST+(6*i)+2)); 1600 outw(data[1], ioaddr+SHADOW(CONF_MULTICAST+(6*i)+2));
1606 outw((CONF_MULTICAST+(6*i)+4) & ~31, ioaddr+SM_PTR); 1601 outw((CONF_MULTICAST+(6*i)+4) & ~31, ioaddr+SM_PTR);
1607 outw(data[2], ioaddr+SHADOW(CONF_MULTICAST+(6*i)+4)); 1602 outw(data[2], ioaddr+SHADOW(CONF_MULTICAST+(6*i)+4));
1603 i++;
1608 } 1604 }
1609} 1605}
1610 1606