diff options
Diffstat (limited to 'drivers/net/skfp')
-rw-r--r-- | drivers/net/skfp/skfddi.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/net/skfp/skfddi.c b/drivers/net/skfp/skfddi.c index 346adfae986f..1921a54ea995 100644 --- a/drivers/net/skfp/skfddi.c +++ b/drivers/net/skfp/skfddi.c | |||
@@ -852,8 +852,7 @@ static void skfp_ctl_set_multicast_list(struct net_device *dev) | |||
852 | static void skfp_ctl_set_multicast_list_wo_lock(struct net_device *dev) | 852 | static void skfp_ctl_set_multicast_list_wo_lock(struct net_device *dev) |
853 | { | 853 | { |
854 | struct s_smc *smc = netdev_priv(dev); | 854 | struct s_smc *smc = netdev_priv(dev); |
855 | struct dev_mc_list *dmi; /* ptr to multicast addr entry */ | 855 | struct dev_mc_list *dmi; |
856 | int i; | ||
857 | 856 | ||
858 | /* Enable promiscuous mode, if necessary */ | 857 | /* Enable promiscuous mode, if necessary */ |
859 | if (dev->flags & IFF_PROMISC) { | 858 | if (dev->flags & IFF_PROMISC) { |
@@ -877,17 +876,14 @@ static void skfp_ctl_set_multicast_list_wo_lock(struct net_device *dev) | |||
877 | /* use exact filtering */ | 876 | /* use exact filtering */ |
878 | 877 | ||
879 | // point to first multicast addr | 878 | // point to first multicast addr |
880 | dmi = dev->mc_list; | 879 | netdev_for_each_mc_addr(dmi, dev) { |
881 | |||
882 | for (i = 0; i < netdev_mc_count(dev); i++) { | ||
883 | mac_add_multicast(smc, | 880 | mac_add_multicast(smc, |
884 | (struct fddi_addr *)dmi->dmi_addr, | 881 | (struct fddi_addr *)dmi->dmi_addr, |
885 | 1); | 882 | 1); |
886 | 883 | ||
887 | pr_debug(KERN_INFO "ENABLE MC ADDRESS: %pMF\n", | 884 | pr_debug(KERN_INFO "ENABLE MC ADDRESS: %pMF\n", |
888 | dmi->dmi_addr); | 885 | dmi->dmi_addr); |
889 | dmi = dmi->next; | 886 | } |
890 | } // for | ||
891 | 887 | ||
892 | } else { // more MC addresses than HW supports | 888 | } else { // more MC addresses than HW supports |
893 | 889 | ||