diff options
| author | Patrick McHardy <kaber@trash.net> | 2010-04-20 10:02:01 -0400 |
|---|---|---|
| committer | Patrick McHardy <kaber@trash.net> | 2010-04-20 10:02:01 -0400 |
| commit | 62910554656cdcd6b6f84a5154c4155aae4ca231 (patch) | |
| tree | dcf14004f6fd2ef7154362ff948bfeba0f3ea92d /drivers/net/tulip | |
| parent | 22265a5c3c103cf8c50be62e6c90d045eb649e6d (diff) | |
| parent | ab9304717f7624c41927f442e6b6d418b2d8b3e4 (diff) | |
Merge branch 'master' of /repos/git/net-next-2.6
Conflicts:
Documentation/feature-removal-schedule.txt
net/ipv6/netfilter/ip6t_REJECT.c
net/netfilter/xt_limit.c
Signed-off-by: Patrick McHardy <kaber@trash.net>
Diffstat (limited to 'drivers/net/tulip')
| -rw-r--r-- | drivers/net/tulip/de2104x.c | 13 | ||||
| -rw-r--r-- | drivers/net/tulip/de4x5.c | 16 | ||||
| -rw-r--r-- | drivers/net/tulip/dmfe.c | 13 | ||||
| -rw-r--r-- | drivers/net/tulip/eeprom.c | 1 | ||||
| -rw-r--r-- | drivers/net/tulip/tulip_core.c | 28 | ||||
| -rw-r--r-- | drivers/net/tulip/uli526x.c | 15 | ||||
| -rw-r--r-- | drivers/net/tulip/winbond-840.c | 13 | ||||
| -rw-r--r-- | drivers/net/tulip/xircom_cb.c | 6 |
8 files changed, 56 insertions, 49 deletions
diff --git a/drivers/net/tulip/de2104x.c b/drivers/net/tulip/de2104x.c index cb429723b2c8..9c0f29ce8ba7 100644 --- a/drivers/net/tulip/de2104x.c +++ b/drivers/net/tulip/de2104x.c | |||
| @@ -42,6 +42,7 @@ | |||
| 42 | #include <linux/compiler.h> | 42 | #include <linux/compiler.h> |
| 43 | #include <linux/rtnetlink.h> | 43 | #include <linux/rtnetlink.h> |
| 44 | #include <linux/crc32.h> | 44 | #include <linux/crc32.h> |
| 45 | #include <linux/slab.h> | ||
| 45 | 46 | ||
| 46 | #include <asm/io.h> | 47 | #include <asm/io.h> |
| 47 | #include <asm/irq.h> | 48 | #include <asm/irq.h> |
| @@ -670,15 +671,15 @@ static void build_setup_frame_hash(u16 *setup_frm, struct net_device *dev) | |||
| 670 | { | 671 | { |
| 671 | struct de_private *de = netdev_priv(dev); | 672 | struct de_private *de = netdev_priv(dev); |
| 672 | u16 hash_table[32]; | 673 | u16 hash_table[32]; |
| 673 | struct dev_mc_list *mclist; | 674 | struct netdev_hw_addr *ha; |
| 674 | int i; | 675 | int i; |
| 675 | u16 *eaddrs; | 676 | u16 *eaddrs; |
| 676 | 677 | ||
| 677 | memset(hash_table, 0, sizeof(hash_table)); | 678 | memset(hash_table, 0, sizeof(hash_table)); |
| 678 | set_bit_le(255, hash_table); /* Broadcast entry */ | 679 | set_bit_le(255, hash_table); /* Broadcast entry */ |
| 679 | /* This should work on big-endian machines as well. */ | 680 | /* This should work on big-endian machines as well. */ |
| 680 | netdev_for_each_mc_addr(mclist, dev) { | 681 | netdev_for_each_mc_addr(ha, dev) { |
| 681 | int index = ether_crc_le(ETH_ALEN, mclist->dmi_addr) & 0x1ff; | 682 | int index = ether_crc_le(ETH_ALEN, ha->addr) & 0x1ff; |
| 682 | 683 | ||
| 683 | set_bit_le(index, hash_table); | 684 | set_bit_le(index, hash_table); |
| 684 | } | 685 | } |
| @@ -699,13 +700,13 @@ static void build_setup_frame_hash(u16 *setup_frm, struct net_device *dev) | |||
| 699 | static void build_setup_frame_perfect(u16 *setup_frm, struct net_device *dev) | 700 | static void build_setup_frame_perfect(u16 *setup_frm, struct net_device *dev) |
| 700 | { | 701 | { |
| 701 | struct de_private *de = netdev_priv(dev); | 702 | struct de_private *de = netdev_priv(dev); |
| 702 | struct dev_mc_list *mclist; | 703 | struct netdev_hw_addr *ha; |
| 703 | u16 *eaddrs; | 704 | u16 *eaddrs; |
| 704 | 705 | ||
| 705 | /* We have <= 14 addresses so we can use the wonderful | 706 | /* We have <= 14 addresses so we can use the wonderful |
| 706 | 16 address perfect filtering of the Tulip. */ | 707 | 16 address perfect filtering of the Tulip. */ |
| 707 | netdev_for_each_mc_addr(mclist, dev) { | 708 | netdev_for_each_mc_addr(ha, dev) { |
| 708 | eaddrs = (u16 *)mclist->dmi_addr; | 709 | eaddrs = (u16 *) ha->addr; |
| 709 | *setup_frm++ = *eaddrs; *setup_frm++ = *eaddrs++; | 710 | *setup_frm++ = *eaddrs; *setup_frm++ = *eaddrs++; |
| 710 | *setup_frm++ = *eaddrs; *setup_frm++ = *eaddrs++; | 711 | *setup_frm++ = *eaddrs; *setup_frm++ = *eaddrs++; |
| 711 | *setup_frm++ = *eaddrs; *setup_frm++ = *eaddrs++; | 712 | *setup_frm++ = *eaddrs; *setup_frm++ = *eaddrs++; |
diff --git a/drivers/net/tulip/de4x5.c b/drivers/net/tulip/de4x5.c index c4ecb9a95409..d818456f4713 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,7 +1951,7 @@ 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; | 1954 | struct netdev_hw_addr *ha; |
| 1955 | u_long iobase = dev->base_addr; | 1955 | u_long iobase = dev->base_addr; |
| 1956 | int i, bit, byte; | 1956 | int i, bit, byte; |
| 1957 | u16 hashcode; | 1957 | u16 hashcode; |
| @@ -1966,8 +1966,8 @@ SetMulticastFilter(struct net_device *dev) | |||
| 1966 | if ((dev->flags & IFF_ALLMULTI) || (netdev_mc_count(dev) > 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 | netdev_for_each_mc_addr(dmi, dev) { | 1969 | netdev_for_each_mc_addr(ha, dev) { |
| 1970 | addrs = dmi->dmi_addr; | 1970 | addrs = ha->addr; |
| 1971 | if ((*addrs & 0x01) == 1) { /* multicast address? */ | 1971 | if ((*addrs & 0x01) == 1) { /* multicast address? */ |
| 1972 | crc = ether_crc_le(ETH_ALEN, addrs); | 1972 | crc = ether_crc_le(ETH_ALEN, addrs); |
| 1973 | hashcode = crc & HASH_BITS; /* hashcode is 9 LSb of CRC */ | 1973 | hashcode = crc & HASH_BITS; /* hashcode is 9 LSb of CRC */ |
| @@ -1983,8 +1983,8 @@ SetMulticastFilter(struct net_device *dev) | |||
| 1983 | } | 1983 | } |
| 1984 | } | 1984 | } |
| 1985 | } else { /* Perfect filtering */ | 1985 | } else { /* Perfect filtering */ |
| 1986 | netdev_for_each_mc_addr(dmi, dev) { | 1986 | netdev_for_each_mc_addr(ha, dev) { |
| 1987 | addrs = dmi->dmi_addr; | 1987 | addrs = ha->addr; |
| 1988 | for (i=0; i<ETH_ALEN; i++) { | 1988 | for (i=0; i<ETH_ALEN; i++) { |
| 1989 | *(pa + (i&1)) = *addrs++; | 1989 | *(pa + (i&1)) = *addrs++; |
| 1990 | if (i & 0x01) pa += 4; | 1990 | if (i & 0x01) pa += 4; |
| @@ -5077,7 +5077,7 @@ mii_get_phy(struct net_device *dev) | |||
| 5077 | lp->phy[k].spd.value = GENERIC_VALUE; /* TX & T4, H/F Duplex */ | 5077 | lp->phy[k].spd.value = GENERIC_VALUE; /* TX & T4, H/F Duplex */ |
| 5078 | lp->mii_cnt++; | 5078 | lp->mii_cnt++; |
| 5079 | lp->active++; | 5079 | lp->active++; |
| 5080 | printk("%s: Using generic MII device control. If the board doesn't operate, \nplease mail the following dump to the author:\n", dev->name); | 5080 | printk("%s: Using generic MII device control. If the board doesn't operate,\nplease mail the following dump to the author:\n", dev->name); |
| 5081 | j = de4x5_debug; | 5081 | j = de4x5_debug; |
| 5082 | de4x5_debug |= DEBUG_MII; | 5082 | de4x5_debug |= DEBUG_MII; |
| 5083 | de4x5_dbg_mii(dev, k); | 5083 | de4x5_dbg_mii(dev, k); |
| @@ -5337,7 +5337,7 @@ de4x5_dbg_open(struct net_device *dev) | |||
| 5337 | } | 5337 | } |
| 5338 | } | 5338 | } |
| 5339 | printk("...0x%8.8x\n", le32_to_cpu(lp->tx_ring[i].buf)); | 5339 | printk("...0x%8.8x\n", le32_to_cpu(lp->tx_ring[i].buf)); |
| 5340 | printk("Ring size: \nRX: %d\nTX: %d\n", | 5340 | printk("Ring size:\nRX: %d\nTX: %d\n", |
| 5341 | (short)lp->rxRingSize, | 5341 | (short)lp->rxRingSize, |
| 5342 | (short)lp->txRingSize); | 5342 | (short)lp->txRingSize); |
| 5343 | } | 5343 | } |
diff --git a/drivers/net/tulip/dmfe.c b/drivers/net/tulip/dmfe.c index 95b38d803e9b..7278ecb823cb 100644 --- a/drivers/net/tulip/dmfe.c +++ b/drivers/net/tulip/dmfe.c | |||
| @@ -74,7 +74,6 @@ | |||
| 74 | #include <linux/ptrace.h> | 74 | #include <linux/ptrace.h> |
| 75 | #include <linux/errno.h> | 75 | #include <linux/errno.h> |
| 76 | #include <linux/ioport.h> | 76 | #include <linux/ioport.h> |
| 77 | #include <linux/slab.h> | ||
| 78 | #include <linux/interrupt.h> | 77 | #include <linux/interrupt.h> |
| 79 | #include <linux/pci.h> | 78 | #include <linux/pci.h> |
| 80 | #include <linux/dma-mapping.h> | 79 | #include <linux/dma-mapping.h> |
| @@ -1454,7 +1453,7 @@ static void update_cr6(u32 cr6_data, unsigned long ioaddr) | |||
| 1454 | 1453 | ||
| 1455 | static void dm9132_id_table(struct DEVICE *dev) | 1454 | static void dm9132_id_table(struct DEVICE *dev) |
| 1456 | { | 1455 | { |
| 1457 | struct dev_mc_list *mcptr; | 1456 | struct netdev_hw_addr *ha; |
| 1458 | u16 * addrptr; | 1457 | u16 * addrptr; |
| 1459 | unsigned long ioaddr = dev->base_addr+0xc0; /* ID Table */ | 1458 | unsigned long ioaddr = dev->base_addr+0xc0; /* ID Table */ |
| 1460 | u32 hash_val; | 1459 | u32 hash_val; |
| @@ -1478,8 +1477,8 @@ static void dm9132_id_table(struct DEVICE *dev) | |||
| 1478 | hash_table[3] = 0x8000; | 1477 | hash_table[3] = 0x8000; |
| 1479 | 1478 | ||
| 1480 | /* the multicast address in Hash Table : 64 bits */ | 1479 | /* the multicast address in Hash Table : 64 bits */ |
| 1481 | netdev_for_each_mc_addr(mcptr, dev) { | 1480 | netdev_for_each_mc_addr(ha, dev) { |
| 1482 | hash_val = cal_CRC((char *) mcptr->dmi_addr, 6, 0) & 0x3f; | 1481 | hash_val = cal_CRC((char *) ha->addr, 6, 0) & 0x3f; |
| 1483 | hash_table[hash_val / 16] |= (u16) 1 << (hash_val % 16); | 1482 | hash_table[hash_val / 16] |= (u16) 1 << (hash_val % 16); |
| 1484 | } | 1483 | } |
| 1485 | 1484 | ||
| @@ -1497,7 +1496,7 @@ static void dm9132_id_table(struct DEVICE *dev) | |||
| 1497 | static void send_filter_frame(struct DEVICE *dev) | 1496 | static void send_filter_frame(struct DEVICE *dev) |
| 1498 | { | 1497 | { |
| 1499 | struct dmfe_board_info *db = netdev_priv(dev); | 1498 | struct dmfe_board_info *db = netdev_priv(dev); |
| 1500 | struct dev_mc_list *mcptr; | 1499 | struct netdev_hw_addr *ha; |
| 1501 | struct tx_desc *txptr; | 1500 | struct tx_desc *txptr; |
| 1502 | u16 * addrptr; | 1501 | u16 * addrptr; |
| 1503 | u32 * suptr; | 1502 | u32 * suptr; |
| @@ -1520,8 +1519,8 @@ static void send_filter_frame(struct DEVICE *dev) | |||
| 1520 | *suptr++ = 0xffff; | 1519 | *suptr++ = 0xffff; |
| 1521 | 1520 | ||
| 1522 | /* fit the multicast address */ | 1521 | /* fit the multicast address */ |
| 1523 | netdev_for_each_mc_addr(mcptr, dev) { | 1522 | netdev_for_each_mc_addr(ha, dev) { |
| 1524 | addrptr = (u16 *) mcptr->dmi_addr; | 1523 | addrptr = (u16 *) ha->addr; |
| 1525 | *suptr++ = addrptr[0]; | 1524 | *suptr++ = addrptr[0]; |
| 1526 | *suptr++ = addrptr[1]; | 1525 | *suptr++ = addrptr[1]; |
| 1527 | *suptr++ = addrptr[2]; | 1526 | *suptr++ = addrptr[2]; |
diff --git a/drivers/net/tulip/eeprom.c b/drivers/net/tulip/eeprom.c index 49f05d1431f5..6002e651b9ea 100644 --- a/drivers/net/tulip/eeprom.c +++ b/drivers/net/tulip/eeprom.c | |||
| @@ -13,6 +13,7 @@ | |||
| 13 | */ | 13 | */ |
| 14 | 14 | ||
| 15 | #include <linux/pci.h> | 15 | #include <linux/pci.h> |
| 16 | #include <linux/slab.h> | ||
| 16 | #include "tulip.h" | 17 | #include "tulip.h" |
| 17 | #include <linux/init.h> | 18 | #include <linux/init.h> |
| 18 | #include <asm/unaligned.h> | 19 | #include <asm/unaligned.h> |
diff --git a/drivers/net/tulip/tulip_core.c b/drivers/net/tulip/tulip_core.c index 7f544ef2f5fc..22e766e90063 100644 --- a/drivers/net/tulip/tulip_core.c +++ b/drivers/net/tulip/tulip_core.c | |||
| @@ -24,6 +24,7 @@ | |||
| 24 | 24 | ||
| 25 | #include <linux/module.h> | 25 | #include <linux/module.h> |
| 26 | #include <linux/pci.h> | 26 | #include <linux/pci.h> |
| 27 | #include <linux/slab.h> | ||
| 27 | #include "tulip.h" | 28 | #include "tulip.h" |
| 28 | #include <linux/init.h> | 29 | #include <linux/init.h> |
| 29 | #include <linux/etherdevice.h> | 30 | #include <linux/etherdevice.h> |
| @@ -990,15 +991,15 @@ static void build_setup_frame_hash(u16 *setup_frm, struct net_device *dev) | |||
| 990 | { | 991 | { |
| 991 | struct tulip_private *tp = netdev_priv(dev); | 992 | struct tulip_private *tp = netdev_priv(dev); |
| 992 | u16 hash_table[32]; | 993 | u16 hash_table[32]; |
| 993 | struct dev_mc_list *mclist; | 994 | struct netdev_hw_addr *ha; |
| 994 | int i; | 995 | int i; |
| 995 | u16 *eaddrs; | 996 | u16 *eaddrs; |
| 996 | 997 | ||
| 997 | memset(hash_table, 0, sizeof(hash_table)); | 998 | memset(hash_table, 0, sizeof(hash_table)); |
| 998 | set_bit_le(255, hash_table); /* Broadcast entry */ | 999 | set_bit_le(255, hash_table); /* Broadcast entry */ |
| 999 | /* This should work on big-endian machines as well. */ | 1000 | /* This should work on big-endian machines as well. */ |
| 1000 | netdev_for_each_mc_addr(mclist, dev) { | 1001 | netdev_for_each_mc_addr(ha, dev) { |
| 1001 | int index = ether_crc_le(ETH_ALEN, mclist->dmi_addr) & 0x1ff; | 1002 | int index = ether_crc_le(ETH_ALEN, ha->addr) & 0x1ff; |
| 1002 | 1003 | ||
| 1003 | set_bit_le(index, hash_table); | 1004 | set_bit_le(index, hash_table); |
| 1004 | } | 1005 | } |
| @@ -1018,13 +1019,13 @@ static void build_setup_frame_hash(u16 *setup_frm, struct net_device *dev) | |||
| 1018 | static void build_setup_frame_perfect(u16 *setup_frm, struct net_device *dev) | 1019 | static void build_setup_frame_perfect(u16 *setup_frm, struct net_device *dev) |
| 1019 | { | 1020 | { |
| 1020 | struct tulip_private *tp = netdev_priv(dev); | 1021 | struct tulip_private *tp = netdev_priv(dev); |
| 1021 | struct dev_mc_list *mclist; | 1022 | struct netdev_hw_addr *ha; |
| 1022 | u16 *eaddrs; | 1023 | u16 *eaddrs; |
| 1023 | 1024 | ||
| 1024 | /* We have <= 14 addresses so we can use the wonderful | 1025 | /* We have <= 14 addresses so we can use the wonderful |
| 1025 | 16 address perfect filtering of the Tulip. */ | 1026 | 16 address perfect filtering of the Tulip. */ |
| 1026 | netdev_for_each_mc_addr(mclist, dev) { | 1027 | netdev_for_each_mc_addr(ha, dev) { |
| 1027 | eaddrs = (u16 *)mclist->dmi_addr; | 1028 | eaddrs = (u16 *) ha->addr; |
| 1028 | *setup_frm++ = *eaddrs; *setup_frm++ = *eaddrs++; | 1029 | *setup_frm++ = *eaddrs; *setup_frm++ = *eaddrs++; |
| 1029 | *setup_frm++ = *eaddrs; *setup_frm++ = *eaddrs++; | 1030 | *setup_frm++ = *eaddrs; *setup_frm++ = *eaddrs++; |
| 1030 | *setup_frm++ = *eaddrs; *setup_frm++ = *eaddrs++; | 1031 | *setup_frm++ = *eaddrs; *setup_frm++ = *eaddrs++; |
| @@ -1061,7 +1062,7 @@ static void set_rx_mode(struct net_device *dev) | |||
| 1061 | } else if (tp->flags & MC_HASH_ONLY) { | 1062 | } else if (tp->flags & MC_HASH_ONLY) { |
| 1062 | /* Some work-alikes have only a 64-entry hash filter table. */ | 1063 | /* Some work-alikes have only a 64-entry hash filter table. */ |
| 1063 | /* Should verify correctness on big-endian/__powerpc__ */ | 1064 | /* Should verify correctness on big-endian/__powerpc__ */ |
| 1064 | struct dev_mc_list *mclist; | 1065 | struct netdev_hw_addr *ha; |
| 1065 | if (netdev_mc_count(dev) > 64) { | 1066 | if (netdev_mc_count(dev) > 64) { |
| 1066 | /* Arbitrary non-effective limit. */ | 1067 | /* Arbitrary non-effective limit. */ |
| 1067 | tp->csr6 |= AcceptAllMulticast; | 1068 | tp->csr6 |= AcceptAllMulticast; |
| @@ -1069,18 +1070,21 @@ static void set_rx_mode(struct net_device *dev) | |||
| 1069 | } else { | 1070 | } else { |
| 1070 | u32 mc_filter[2] = {0, 0}; /* Multicast hash filter */ | 1071 | u32 mc_filter[2] = {0, 0}; /* Multicast hash filter */ |
| 1071 | int filterbit; | 1072 | int filterbit; |
| 1072 | netdev_for_each_mc_addr(mclist, dev) { | 1073 | netdev_for_each_mc_addr(ha, dev) { |
| 1073 | if (tp->flags & COMET_MAC_ADDR) | 1074 | if (tp->flags & COMET_MAC_ADDR) |
| 1074 | filterbit = ether_crc_le(ETH_ALEN, mclist->dmi_addr); | 1075 | filterbit = ether_crc_le(ETH_ALEN, |
| 1076 | ha->addr); | ||
| 1075 | else | 1077 | else |
| 1076 | filterbit = ether_crc(ETH_ALEN, mclist->dmi_addr) >> 26; | 1078 | filterbit = ether_crc(ETH_ALEN, |
| 1079 | ha->addr) >> 26; | ||
| 1077 | filterbit &= 0x3f; | 1080 | filterbit &= 0x3f; |
| 1078 | mc_filter[filterbit >> 5] |= 1 << (filterbit & 31); | 1081 | mc_filter[filterbit >> 5] |= 1 << (filterbit & 31); |
| 1079 | if (tulip_debug > 2) | 1082 | if (tulip_debug > 2) |
| 1080 | dev_info(&dev->dev, | 1083 | dev_info(&dev->dev, |
| 1081 | "Added filter for %pM %08x bit %d\n", | 1084 | "Added filter for %pM %08x bit %d\n", |
| 1082 | mclist->dmi_addr, | 1085 | ha->addr, |
| 1083 | ether_crc(ETH_ALEN, mclist->dmi_addr), filterbit); | 1086 | ether_crc(ETH_ALEN, ha->addr), |
| 1087 | filterbit); | ||
| 1084 | } | 1088 | } |
| 1085 | if (mc_filter[0] == tp->mc_filter[0] && | 1089 | if (mc_filter[0] == tp->mc_filter[0] && |
| 1086 | mc_filter[1] == tp->mc_filter[1]) | 1090 | mc_filter[1] == tp->mc_filter[1]) |
diff --git a/drivers/net/tulip/uli526x.c b/drivers/net/tulip/uli526x.c index 0ab05af237e5..c7f972852921 100644 --- a/drivers/net/tulip/uli526x.c +++ b/drivers/net/tulip/uli526x.c | |||
| @@ -25,7 +25,6 @@ | |||
| 25 | #include <linux/timer.h> | 25 | #include <linux/timer.h> |
| 26 | #include <linux/errno.h> | 26 | #include <linux/errno.h> |
| 27 | #include <linux/ioport.h> | 27 | #include <linux/ioport.h> |
| 28 | #include <linux/slab.h> | ||
| 29 | #include <linux/interrupt.h> | 28 | #include <linux/interrupt.h> |
| 30 | #include <linux/pci.h> | 29 | #include <linux/pci.h> |
| 31 | #include <linux/init.h> | 30 | #include <linux/init.h> |
| @@ -851,13 +850,15 @@ static void uli526x_rx_packet(struct net_device *dev, struct uli526x_board_info | |||
| 851 | 850 | ||
| 852 | if ( !(rdes0 & 0x8000) || | 851 | if ( !(rdes0 & 0x8000) || |
| 853 | ((db->cr6_data & CR6_PM) && (rxlen>6)) ) { | 852 | ((db->cr6_data & CR6_PM) && (rxlen>6)) ) { |
| 853 | struct sk_buff *new_skb = NULL; | ||
| 854 | |||
| 854 | skb = rxptr->rx_skb_ptr; | 855 | skb = rxptr->rx_skb_ptr; |
| 855 | 856 | ||
| 856 | /* Good packet, send to upper layer */ | 857 | /* Good packet, send to upper layer */ |
| 857 | /* Shorst packet used new SKB */ | 858 | /* Shorst packet used new SKB */ |
| 858 | if ( (rxlen < RX_COPY_SIZE) && | 859 | if ((rxlen < RX_COPY_SIZE) && |
| 859 | ( (skb = dev_alloc_skb(rxlen + 2) ) | 860 | (((new_skb = dev_alloc_skb(rxlen + 2)) != NULL))) { |
| 860 | != NULL) ) { | 861 | skb = new_skb; |
| 861 | /* size less than COPY_SIZE, allocate a rxlen SKB */ | 862 | /* size less than COPY_SIZE, allocate a rxlen SKB */ |
| 862 | skb_reserve(skb, 2); /* 16byte align */ | 863 | skb_reserve(skb, 2); /* 16byte align */ |
| 863 | memcpy(skb_put(skb, rxlen), | 864 | memcpy(skb_put(skb, rxlen), |
| @@ -1392,7 +1393,7 @@ static void update_cr6(u32 cr6_data, unsigned long ioaddr) | |||
| 1392 | static void send_filter_frame(struct net_device *dev, int mc_cnt) | 1393 | static void send_filter_frame(struct net_device *dev, int mc_cnt) |
| 1393 | { | 1394 | { |
| 1394 | struct uli526x_board_info *db = netdev_priv(dev); | 1395 | struct uli526x_board_info *db = netdev_priv(dev); |
| 1395 | struct dev_mc_list *mcptr; | 1396 | struct netdev_hw_addr *ha; |
| 1396 | struct tx_desc *txptr; | 1397 | struct tx_desc *txptr; |
| 1397 | u16 * addrptr; | 1398 | u16 * addrptr; |
| 1398 | u32 * suptr; | 1399 | u32 * suptr; |
| @@ -1415,8 +1416,8 @@ static void send_filter_frame(struct net_device *dev, int mc_cnt) | |||
| 1415 | *suptr++ = 0xffff << FLT_SHIFT; | 1416 | *suptr++ = 0xffff << FLT_SHIFT; |
| 1416 | 1417 | ||
| 1417 | /* fit the multicast address */ | 1418 | /* fit the multicast address */ |
| 1418 | netdev_for_each_mc_addr(mcptr, dev) { | 1419 | netdev_for_each_mc_addr(ha, dev) { |
| 1419 | addrptr = (u16 *) mcptr->dmi_addr; | 1420 | addrptr = (u16 *) ha->addr; |
| 1420 | *suptr++ = addrptr[0] << FLT_SHIFT; | 1421 | *suptr++ = addrptr[0] << FLT_SHIFT; |
| 1421 | *suptr++ = addrptr[1] << FLT_SHIFT; | 1422 | *suptr++ = addrptr[1] << FLT_SHIFT; |
| 1422 | *suptr++ = addrptr[2] << FLT_SHIFT; | 1423 | *suptr++ = addrptr[2] << FLT_SHIFT; |
diff --git a/drivers/net/tulip/winbond-840.c b/drivers/net/tulip/winbond-840.c index 304f43866c44..18c8cedf4cac 100644 --- a/drivers/net/tulip/winbond-840.c +++ b/drivers/net/tulip/winbond-840.c | |||
| @@ -114,7 +114,6 @@ static int full_duplex[MAX_UNITS] = {-1, -1, -1, -1, -1, -1, -1, -1}; | |||
| 114 | #include <linux/timer.h> | 114 | #include <linux/timer.h> |
| 115 | #include <linux/errno.h> | 115 | #include <linux/errno.h> |
| 116 | #include <linux/ioport.h> | 116 | #include <linux/ioport.h> |
| 117 | #include <linux/slab.h> | ||
| 118 | #include <linux/interrupt.h> | 117 | #include <linux/interrupt.h> |
| 119 | #include <linux/pci.h> | 118 | #include <linux/pci.h> |
| 120 | #include <linux/dma-mapping.h> | 119 | #include <linux/dma-mapping.h> |
| @@ -1367,13 +1366,15 @@ static u32 __set_rx_mode(struct net_device *dev) | |||
| 1367 | memset(mc_filter, 0xff, sizeof(mc_filter)); | 1366 | memset(mc_filter, 0xff, sizeof(mc_filter)); |
| 1368 | rx_mode = RxAcceptBroadcast | AcceptMulticast | AcceptMyPhys; | 1367 | rx_mode = RxAcceptBroadcast | AcceptMulticast | AcceptMyPhys; |
| 1369 | } else { | 1368 | } else { |
| 1370 | struct dev_mc_list *mclist; | 1369 | struct netdev_hw_addr *ha; |
| 1371 | 1370 | ||
| 1372 | memset(mc_filter, 0, sizeof(mc_filter)); | 1371 | memset(mc_filter, 0, sizeof(mc_filter)); |
| 1373 | netdev_for_each_mc_addr(mclist, dev) { | 1372 | netdev_for_each_mc_addr(ha, dev) { |
| 1374 | int filterbit = (ether_crc(ETH_ALEN, mclist->dmi_addr) >> 26) ^ 0x3F; | 1373 | int filbit; |
| 1375 | filterbit &= 0x3f; | 1374 | |
| 1376 | mc_filter[filterbit >> 5] |= 1 << (filterbit & 31); | 1375 | filbit = (ether_crc(ETH_ALEN, ha->addr) >> 26) ^ 0x3F; |
| 1376 | filbit &= 0x3f; | ||
| 1377 | mc_filter[filbit >> 5] |= 1 << (filbit & 31); | ||
| 1377 | } | 1378 | } |
| 1378 | rx_mode = RxAcceptBroadcast | AcceptMulticast | AcceptMyPhys; | 1379 | rx_mode = RxAcceptBroadcast | AcceptMulticast | AcceptMyPhys; |
| 1379 | } | 1380 | } |
diff --git a/drivers/net/tulip/xircom_cb.c b/drivers/net/tulip/xircom_cb.c index acfeeb980562..a439e93be22d 100644 --- a/drivers/net/tulip/xircom_cb.c +++ b/drivers/net/tulip/xircom_cb.c | |||
| @@ -350,9 +350,9 @@ static irqreturn_t xircom_interrupt(int irq, void *dev_instance) | |||
| 350 | 350 | ||
| 351 | #ifdef DEBUG | 351 | #ifdef DEBUG |
| 352 | print_binary(status); | 352 | print_binary(status); |
| 353 | printk("tx status 0x%08x 0x%08x \n", | 353 | printk("tx status 0x%08x 0x%08x\n", |
| 354 | card->tx_buffer[0], card->tx_buffer[4]); | 354 | card->tx_buffer[0], card->tx_buffer[4]); |
| 355 | printk("rx status 0x%08x 0x%08x \n", | 355 | printk("rx status 0x%08x 0x%08x\n", |
| 356 | card->rx_buffer[0], card->rx_buffer[4]); | 356 | card->rx_buffer[0], card->rx_buffer[4]); |
| 357 | #endif | 357 | #endif |
| 358 | /* Handle shared irq and hotplug */ | 358 | /* Handle shared irq and hotplug */ |
| @@ -462,7 +462,7 @@ static int xircom_open(struct net_device *dev) | |||
| 462 | struct xircom_private *xp = netdev_priv(dev); | 462 | struct xircom_private *xp = netdev_priv(dev); |
| 463 | int retval; | 463 | int retval; |
| 464 | enter("xircom_open"); | 464 | enter("xircom_open"); |
| 465 | pr_info("xircom cardbus adaptor found, registering as %s, using irq %i \n", | 465 | pr_info("xircom cardbus adaptor found, registering as %s, using irq %i\n", |
| 466 | dev->name, dev->irq); | 466 | dev->name, dev->irq); |
| 467 | retval = request_irq(dev->irq, xircom_interrupt, IRQF_SHARED, dev->name, dev); | 467 | retval = request_irq(dev->irq, xircom_interrupt, IRQF_SHARED, dev->name, dev); |
| 468 | if (retval) { | 468 | if (retval) { |
