aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/skfp
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/skfp')
-rw-r--r--drivers/net/skfp/skfddi.c10
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)
852static void skfp_ctl_set_multicast_list_wo_lock(struct net_device *dev) 852static 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