diff options
author | Jiri Pirko <jpirko@redhat.com> | 2010-02-23 09:19:49 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-02-26 02:07:30 -0800 |
commit | f9dcbcc9e338d08c0f7de7eba4eaafbbb7f81249 (patch) | |
tree | 8a1d9a37bc057440220a5ad23231e0fe974b93f6 /drivers/net/lib82596.c | |
parent | 52c793f24054f5dc30d228e37e0e19cc8313f086 (diff) | |
download | lwn-f9dcbcc9e338d08c0f7de7eba4eaafbbb7f81249.tar.gz lwn-f9dcbcc9e338d08c0f7de7eba4eaafbbb7f81249.zip |
net: convert multiple drivers to use netdev_for_each_mc_addr, part5 V2
removed some needless checks and also corrected bug in lp486e (dmi was passed
instead of dmi->dmi_addr)
Signed-off-by: Jiri Pirko <jpirko@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/lib82596.c')
-rw-r--r-- | drivers/net/lib82596.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/lib82596.c b/drivers/net/lib82596.c index 371b58b1d151..443c39a3732f 100644 --- a/drivers/net/lib82596.c +++ b/drivers/net/lib82596.c @@ -1396,15 +1396,16 @@ static void set_multicast_list(struct net_device *dev) cmd->cmd.command = SWAP16(CmdMulticastList); cmd->mc_cnt = SWAP16(netdev_mc_count(dev) * 6); cp = cmd->mc_addrs; - for (dmi = dev->mc_list; - cnt && dmi != NULL; - dmi = dmi->next, cnt--, cp += 6) { + netdev_for_each_mc_addr(dmi, dev) { + if (!cnt--) + break; memcpy(cp, dmi->dmi_addr, 6); if (i596_debug > 1) DEB(DEB_MULTI, printk(KERN_DEBUG "%s: Adding address %pM\n", dev->name, cp)); + cp += 6; } DMA_WBACK_INV(dev, &dma->mc_cmd, sizeof(struct mc_cmd)); i596_add_cmd(dev, &cmd->cmd); |