net: convert multiple drivers to use netdev_for_each_mc_addr, part6
[deliverable/linux.git] / drivers / net / tc35815.c
index 75a669d48e5ebc4be3d79b84ee09ff7a50d85845..876f45afbed4329a4af82b77a0ae568fa252bc35 100644 (file)
@@ -65,7 +65,7 @@ static const struct {
        { "TOSHIBA TC35815/TX4939" },
 };
 
-static const struct pci_device_id tc35815_pci_tbl[] = {
+static DEFINE_PCI_DEVICE_TABLE(tc35815_pci_tbl) = {
        {PCI_DEVICE(PCI_VENDOR_ID_TOSHIBA_2, PCI_DEVICE_ID_TOSHIBA_TC35815CF), .driver_data = TC35815CF },
        {PCI_DEVICE(PCI_VENDOR_ID_TOSHIBA_2, PCI_DEVICE_ID_TOSHIBA_TC35815_NWU), .driver_data = TC35815_NWU },
        {PCI_DEVICE(PCI_VENDOR_ID_TOSHIBA_2, PCI_DEVICE_ID_TOSHIBA_TC35815_TX4939), .driver_data = TC35815_TX4939 },
@@ -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;
        }
@@ -1941,23 +1940,23 @@ tc35815_set_multicast_list(struct net_device *dev)
                /* Enable promiscuous mode */
                tc_writel(CAM_CompEn | CAM_BroadAcc | CAM_GroupAcc | CAM_StationAcc, &tr->CAM_Ctl);
        } else if ((dev->flags & IFF_ALLMULTI) ||
-                 dev->mc_count > CAM_ENTRY_MAX - 3) {
+                 netdev_mc_count(dev) > CAM_ENTRY_MAX - 3) {
                /* CAM 0, 1, 20 are reserved. */
                /* Disable promiscuous mode, use normal mode. */
                tc_writel(CAM_CompEn | CAM_BroadAcc | CAM_GroupAcc, &tr->CAM_Ctl);
-       } else if (dev->mc_count) {
-               struct dev_mc_list *cur_addr = dev->mc_list;
+       } else if (!netdev_mc_empty(dev)) {
+               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 < dev->mc_count; 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.038997 seconds and 5 git commands to generate.