aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/macb.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/macb.c')
-rw-r--r--drivers/net/macb.c7
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 }