diff options
author | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-30 19:16:45 -0400 |
---|---|---|
committer | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-30 19:16:45 -0400 |
commit | ada47b5fe13d89735805b566185f4885f5a3f750 (patch) | |
tree | 644b88f8a71896307d71438e9b3af49126ffb22b /drivers/net/tulip/de4x5.c | |
parent | 43e98717ad40a4ae64545b5ba047c7b86aa44f4f (diff) | |
parent | 3280f21d43ee541f97f8cda5792150d2dbec20d5 (diff) |
Merge branch 'wip-2.6.34' into old-private-masterarchived-private-master
Diffstat (limited to 'drivers/net/tulip/de4x5.c')
-rw-r--r-- | drivers/net/tulip/de4x5.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/drivers/net/tulip/de4x5.c b/drivers/net/tulip/de4x5.c index a8349b7200b5..09b57193a16a 100644 --- a/drivers/net/tulip/de4x5.c +++ b/drivers/net/tulip/de4x5.c | |||
@@ -450,7 +450,6 @@ | |||
450 | #include <linux/ptrace.h> | 450 | #include <linux/ptrace.h> |
451 | #include <linux/errno.h> | 451 | #include <linux/errno.h> |
452 | #include <linux/ioport.h> | 452 | #include <linux/ioport.h> |
453 | #include <linux/slab.h> | ||
454 | #include <linux/pci.h> | 453 | #include <linux/pci.h> |
455 | #include <linux/eisa.h> | 454 | #include <linux/eisa.h> |
456 | #include <linux/delay.h> | 455 | #include <linux/delay.h> |
@@ -467,6 +466,7 @@ | |||
467 | #include <linux/dma-mapping.h> | 466 | #include <linux/dma-mapping.h> |
468 | #include <linux/moduleparam.h> | 467 | #include <linux/moduleparam.h> |
469 | #include <linux/bitops.h> | 468 | #include <linux/bitops.h> |
469 | #include <linux/gfp.h> | ||
470 | 470 | ||
471 | #include <asm/io.h> | 471 | #include <asm/io.h> |
472 | #include <asm/dma.h> | 472 | #include <asm/dma.h> |
@@ -1951,9 +1951,9 @@ static void | |||
1951 | SetMulticastFilter(struct net_device *dev) | 1951 | SetMulticastFilter(struct net_device *dev) |
1952 | { | 1952 | { |
1953 | struct de4x5_private *lp = netdev_priv(dev); | 1953 | struct de4x5_private *lp = netdev_priv(dev); |
1954 | struct dev_mc_list *dmi=dev->mc_list; | 1954 | struct dev_mc_list *dmi; |
1955 | u_long iobase = dev->base_addr; | 1955 | u_long iobase = dev->base_addr; |
1956 | int i, j, bit, byte; | 1956 | int i, bit, byte; |
1957 | u16 hashcode; | 1957 | u16 hashcode; |
1958 | u32 omr, crc; | 1958 | u32 omr, crc; |
1959 | char *pa; | 1959 | char *pa; |
@@ -1963,12 +1963,11 @@ SetMulticastFilter(struct net_device *dev) | |||
1963 | omr &= ~(OMR_PR | OMR_PM); | 1963 | omr &= ~(OMR_PR | OMR_PM); |
1964 | pa = build_setup_frame(dev, ALL); /* Build the basic frame */ | 1964 | pa = build_setup_frame(dev, ALL); /* Build the basic frame */ |
1965 | 1965 | ||
1966 | if ((dev->flags & IFF_ALLMULTI) || (dev->mc_count > 14)) { | 1966 | if ((dev->flags & IFF_ALLMULTI) || (netdev_mc_count(dev) > 14)) { |
1967 | omr |= OMR_PM; /* Pass all multicasts */ | 1967 | omr |= OMR_PM; /* Pass all multicasts */ |
1968 | } else if (lp->setup_f == HASH_PERF) { /* Hash Filtering */ | 1968 | } else if (lp->setup_f == HASH_PERF) { /* Hash Filtering */ |
1969 | for (i=0;i<dev->mc_count;i++) { /* for each address in the list */ | 1969 | netdev_for_each_mc_addr(dmi, dev) { |
1970 | addrs=dmi->dmi_addr; | 1970 | addrs = dmi->dmi_addr; |
1971 | dmi=dmi->next; | ||
1972 | if ((*addrs & 0x01) == 1) { /* multicast address? */ | 1971 | if ((*addrs & 0x01) == 1) { /* multicast address? */ |
1973 | crc = ether_crc_le(ETH_ALEN, addrs); | 1972 | crc = ether_crc_le(ETH_ALEN, addrs); |
1974 | hashcode = crc & HASH_BITS; /* hashcode is 9 LSb of CRC */ | 1973 | hashcode = crc & HASH_BITS; /* hashcode is 9 LSb of CRC */ |
@@ -1984,9 +1983,8 @@ SetMulticastFilter(struct net_device *dev) | |||
1984 | } | 1983 | } |
1985 | } | 1984 | } |
1986 | } else { /* Perfect filtering */ | 1985 | } else { /* Perfect filtering */ |
1987 | for (j=0; j<dev->mc_count; j++) { | 1986 | netdev_for_each_mc_addr(dmi, dev) { |
1988 | addrs=dmi->dmi_addr; | 1987 | addrs = dmi->dmi_addr; |
1989 | dmi=dmi->next; | ||
1990 | for (i=0; i<ETH_ALEN; i++) { | 1988 | for (i=0; i<ETH_ALEN; i++) { |
1991 | *(pa + (i&1)) = *addrs++; | 1989 | *(pa + (i&1)) = *addrs++; |
1992 | if (i & 0x01) pa += 4; | 1990 | if (i & 0x01) pa += 4; |