diff options
author | Jiri Pirko <jpirko@redhat.com> | 2010-02-23 04:19:49 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-02-26 05:07:30 -0500 |
commit | f9dcbcc9e338d08c0f7de7eba4eaafbbb7f81249 (patch) | |
tree | 8a1d9a37bc057440220a5ad23231e0fe974b93f6 /drivers/net/macb.c | |
parent | 52c793f24054f5dc30d228e37e0e19cc8313f086 (diff) |
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/macb.c')
-rw-r--r-- | drivers/net/macb.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/net/macb.c b/drivers/net/macb.c index 7a5f89728a81..c8a18a6203c8 100644 --- a/drivers/net/macb.c +++ b/drivers/net/macb.c | |||
@@ -884,15 +884,12 @@ static void macb_sethashtable(struct net_device *dev) | |||
884 | { | 884 | { |
885 | struct dev_mc_list *curr; | 885 | struct dev_mc_list *curr; |
886 | unsigned long mc_filter[2]; | 886 | unsigned long mc_filter[2]; |
887 | unsigned int i, bitnr; | 887 | unsigned int bitnr; |
888 | struct macb *bp = netdev_priv(dev); | 888 | struct macb *bp = netdev_priv(dev); |
889 | 889 | ||
890 | mc_filter[0] = mc_filter[1] = 0; | 890 | mc_filter[0] = mc_filter[1] = 0; |
891 | 891 | ||
892 | curr = dev->mc_list; | 892 | netdev_for_each_mc_addr(curr, dev) { |
893 | for (i = 0; i < netdev_mc_count(dev); i++, curr = curr->next) { | ||
894 | if (!curr) break; /* unexpected end of list */ | ||
895 | |||
896 | bitnr = hash_get_index(curr->dmi_addr); | 893 | bitnr = hash_get_index(curr->dmi_addr); |
897 | mc_filter[bitnr >> 5] |= 1 << (bitnr & 31); | 894 | mc_filter[bitnr >> 5] |= 1 << (bitnr & 31); |
898 | } | 895 | } |