]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - net/bluetooth/bnep/netdev.c
net: convert multiple drivers to use netdev_for_each_mc_addr, part7
[net-next-2.6.git] / net / bluetooth / bnep / netdev.c
index b6234b73c4cfb6fc5a752917baf75f0f1c53f883..326ab453edb769717a79ab63059239994a5dce0b 100644 (file)
@@ -87,7 +87,7 @@ static void bnep_net_set_mc_list(struct net_device *dev)
                memcpy(__skb_put(skb, ETH_ALEN), dev->broadcast, ETH_ALEN);
                r->len = htons(ETH_ALEN * 2);
        } else {
-               struct dev_mc_list *dmi = dev->mc_list;
+               struct dev_mc_list *dmi;
                int i, len = skb->len;
 
                if (dev->flags & IFF_BROADCAST) {
@@ -97,12 +97,12 @@ static void bnep_net_set_mc_list(struct net_device *dev)
 
                /* FIXME: We should group addresses here. */
 
-               for (i = 0;
-                    i < netdev_mc_count(dev) && i < BNEP_MAX_MULTICAST_FILTERS;
-                    i++) {
+               i = 0;
+               netdev_for_each_mc_addr(dmi, dev) {
+                       if (i == BNEP_MAX_MULTICAST_FILTERS)
+                               break;
                        memcpy(__skb_put(skb, ETH_ALEN), dmi->dmi_addr, ETH_ALEN);
                        memcpy(__skb_put(skb, ETH_ALEN), dmi->dmi_addr, ETH_ALEN);
-                       dmi = dmi->next;
                }
                r->len = htons(skb->len - len);
        }