net: convert multiple drivers to use netdev_for_each_mc_addr, part6
[deliverable/linux.git] / drivers / net / tc35815.c
index d838d4015c63f2e8412aff48c9af13085bdb3b7e..876f45afbed4329a4af82b77a0ae568fa252bc35 100644 (file)
@@ -1437,7 +1437,6 @@ static int tc35815_do_interrupt(struct net_device *dev, u32 status, int limit)
                /* Transmit complete. */
                lp->lstats.tx_ints++;
                tc35815_txdone(dev);
-               netif_wake_queue(dev);
                if (ret < 0)
                        ret = 0;
        }
@@ -1946,18 +1945,18 @@ tc35815_set_multicast_list(struct net_device *dev)
                /* Disable promiscuous mode, use normal mode. */
                tc_writel(CAM_CompEn | CAM_BroadAcc | CAM_GroupAcc, &tr->CAM_Ctl);
        } else if (!netdev_mc_empty(dev)) {
-               struct dev_mc_list *cur_addr = dev->mc_list;
+               struct dev_mc_list *cur_addr;
                int i;
                int ena_bits = CAM_Ena_Bit(CAM_ENTRY_SOURCE);
 
                tc_writel(0, &tr->CAM_Ctl);
                /* Walk the address list, and load the filter */
-               for (i = 0; i < netdev_mc_count(dev); i++, cur_addr = cur_addr->next) {
-                       if (!cur_addr)
-                               break;
+               i = 0;
+               netdev_for_each_mc_addr(cur_addr, dev) {
                        /* entry 0,1 is reserved. */
                        tc35815_set_cam_entry(dev, i + 2, cur_addr->dmi_addr);
                        ena_bits |= CAM_Ena_Bit(i + 2);
+                       i++;
                }
                tc_writel(ena_bits, &tr->CAM_Ena);
                tc_writel(CAM_CompEn | CAM_BroadAcc, &tr->CAM_Ctl);
This page took 0.026083 seconds and 5 git commands to generate.