aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/iseries_veth.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/iseries_veth.c')
-rw-r--r--drivers/net/iseries_veth.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/net/iseries_veth.c b/drivers/net/iseries_veth.c
index 16c91910d6c1..966de5d69521 100644
--- a/drivers/net/iseries_veth.c
+++ b/drivers/net/iseries_veth.c
@@ -958,18 +958,17 @@ static void veth_set_multicast_list(struct net_device *dev)
958 write_lock_irqsave(&port->mcast_gate, flags); 958 write_lock_irqsave(&port->mcast_gate, flags);
959 959
960 if ((dev->flags & IFF_PROMISC) || (dev->flags & IFF_ALLMULTI) || 960 if ((dev->flags & IFF_PROMISC) || (dev->flags & IFF_ALLMULTI) ||
961 (dev->mc_count > VETH_MAX_MCAST)) { 961 (netdev_mc_count(dev) > VETH_MAX_MCAST)) {
962 port->promiscuous = 1; 962 port->promiscuous = 1;
963 } else { 963 } else {
964 struct dev_mc_list *dmi = dev->mc_list; 964 struct dev_mc_list *dmi;
965 int i;
966 965
967 port->promiscuous = 0; 966 port->promiscuous = 0;
968 967
969 /* Update table */ 968 /* Update table */
970 port->num_mcast = 0; 969 port->num_mcast = 0;
971 970
972 for (i = 0; i < dev->mc_count; i++) { 971 netdev_for_each_mc_addr(dmi, dev) {
973 u8 *addr = dmi->dmi_addr; 972 u8 *addr = dmi->dmi_addr;
974 u64 xaddr = 0; 973 u64 xaddr = 0;
975 974
@@ -978,7 +977,6 @@ static void veth_set_multicast_list(struct net_device *dev)
978 port->mcast_addr[port->num_mcast] = xaddr; 977 port->mcast_addr[port->num_mcast] = xaddr;
979 port->num_mcast++; 978 port->num_mcast++;
980 } 979 }
981 dmi = dmi->next;
982 } 980 }
983 } 981 }
984 982