diff options
author | Jiri Pirko <jpirko@redhat.com> | 2010-02-18 00:42:54 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-02-18 14:47:49 -0800 |
commit | 5508590c193661bc1484ad7b952af5fceacea40d (patch) | |
tree | 8b7d1655f63034725127b9456afa5bad4bb6e83a /drivers/net/starfire.c | |
parent | 2a0d18f97cc15d57ad0c93259a3df4cb72c5a28b (diff) |
net: convert multiple drivers to use netdev_for_each_mc_addr, part2
Signed-off-by: Jiri Pirko <jpirko@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/starfire.c')
-rw-r--r-- | drivers/net/starfire.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/starfire.c b/drivers/net/starfire.c index 58bc7ac086c..0f405ef5185 100644 --- a/drivers/net/starfire.c +++ b/drivers/net/starfire.c @@ -1804,14 +1804,14 @@ static void set_rx_mode(struct net_device *dev) /* Use the 16 element perfect filter, skip first two entries. */ void __iomem *filter_addr = ioaddr + PerfFilterTable + 2 * 16; __be16 *eaddrs; - for (i = 2, mclist = dev->mc_list; mclist && i < netdev_mc_count(dev) + 2; - i++, mclist = mclist->next) { + netdev_for_each_mc_addr(mclist, dev) { eaddrs = (__be16 *)mclist->dmi_addr; writew(be16_to_cpu(eaddrs[2]), filter_addr); filter_addr += 4; writew(be16_to_cpu(eaddrs[1]), filter_addr); filter_addr += 4; writew(be16_to_cpu(eaddrs[0]), filter_addr); filter_addr += 8; } eaddrs = (__be16 *)dev->dev_addr; + i = netdev_mc_count(dev) + 2; while (i++ < 16) { writew(be16_to_cpu(eaddrs[0]), filter_addr); filter_addr += 4; writew(be16_to_cpu(eaddrs[1]), filter_addr); filter_addr += 4; |