diff options
Diffstat (limited to 'drivers/net/natsemi.c')
-rw-r--r-- | drivers/net/natsemi.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/natsemi.c b/drivers/net/natsemi.c index 797fe164ce27..e52038783245 100644 --- a/drivers/net/natsemi.c +++ b/drivers/net/natsemi.c | |||
@@ -247,7 +247,7 @@ static struct { | |||
247 | { "NatSemi DP8381[56]", 0, 24 }, | 247 | { "NatSemi DP8381[56]", 0, 24 }, |
248 | }; | 248 | }; |
249 | 249 | ||
250 | static struct pci_device_id natsemi_pci_tbl[] __devinitdata = { | 250 | static DEFINE_PCI_DEVICE_TABLE(natsemi_pci_tbl) = { |
251 | { PCI_VENDOR_ID_NS, 0x0020, 0x12d9, 0x000c, 0, 0, 0 }, | 251 | { PCI_VENDOR_ID_NS, 0x0020, 0x12d9, 0x000c, 0, 0, 0 }, |
252 | { PCI_VENDOR_ID_NS, 0x0020, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1 }, | 252 | { PCI_VENDOR_ID_NS, 0x0020, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1 }, |
253 | { } /* terminate list */ | 253 | { } /* terminate list */ |
@@ -2488,16 +2488,16 @@ static void __set_rx_mode(struct net_device *dev) | |||
2488 | if (dev->flags & IFF_PROMISC) { /* Set promiscuous. */ | 2488 | if (dev->flags & IFF_PROMISC) { /* Set promiscuous. */ |
2489 | rx_mode = RxFilterEnable | AcceptBroadcast | 2489 | rx_mode = RxFilterEnable | AcceptBroadcast |
2490 | | AcceptAllMulticast | AcceptAllPhys | AcceptMyPhys; | 2490 | | AcceptAllMulticast | AcceptAllPhys | AcceptMyPhys; |
2491 | } else if ((dev->mc_count > multicast_filter_limit) || | 2491 | } else if ((netdev_mc_count(dev) > multicast_filter_limit) || |
2492 | (dev->flags & IFF_ALLMULTI)) { | 2492 | (dev->flags & IFF_ALLMULTI)) { |
2493 | rx_mode = RxFilterEnable | AcceptBroadcast | 2493 | rx_mode = RxFilterEnable | AcceptBroadcast |
2494 | | AcceptAllMulticast | AcceptMyPhys; | 2494 | | AcceptAllMulticast | AcceptMyPhys; |
2495 | } else { | 2495 | } else { |
2496 | struct dev_mc_list *mclist; | 2496 | struct dev_mc_list *mclist; |
2497 | int i; | 2497 | int i; |
2498 | |||
2498 | memset(mc_filter, 0, sizeof(mc_filter)); | 2499 | memset(mc_filter, 0, sizeof(mc_filter)); |
2499 | for (i = 0, mclist = dev->mc_list; mclist && i < dev->mc_count; | 2500 | netdev_for_each_mc_addr(mclist, dev) { |
2500 | i++, mclist = mclist->next) { | ||
2501 | int b = (ether_crc(ETH_ALEN, mclist->dmi_addr) >> 23) & 0x1ff; | 2501 | int b = (ether_crc(ETH_ALEN, mclist->dmi_addr) >> 23) & 0x1ff; |
2502 | mc_filter[b/8] |= (1 << (b & 0x07)); | 2502 | mc_filter[b/8] |= (1 << (b & 0x07)); |
2503 | } | 2503 | } |