diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-23 22:19:54 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-23 22:19:54 -0400 |
| commit | 2242d5eff17cf91110a3c44747f9f2e1a938cbda (patch) | |
| tree | a6459b4d1aeb7f6f08dea3db2e2780f6276abdb0 | |
| parent | 5579a782ad7ffa162b1060993e4a298dd50e7a33 (diff) | |
| parent | fd6149d332973bafa50f03ddb0ea9513e67f4517 (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (29 commits)
tcp: Restore ordering of TCP options for the sake of inter-operability
net: Fix disjunct computation of netdev features
sctp: Fix to handle SHUTDOWN in SHUTDOWN_RECEIVED state
sctp: Fix to handle SHUTDOWN in SHUTDOWN-PENDING state
sctp: Add check for the TSN field of the SHUTDOWN chunk
sctp: Drop ICMP packet too big message with MTU larger than current PMTU
p54: enable 2.4/5GHz spectrum by eeprom bits.
orinoco: reduce stack usage in firmware download path
ath5k: fix suspend-related oops on rmmod
[netdrvr] fec_mpc52xx: Implement polling, to make netconsole work.
qlge: Fix MSI/legacy single interrupt bug.
smc911x: Make the driver safer on SMP
smc911x: Add IRQ polarity configuration
smc911x: Allow Kconfig dependency on ARM
sis190: add identifier for Atheros AR8021 PHY
8139x: reduce message severity on driver overlap
igb: add IGB_DCA instead of selecting INTEL_IOATDMA
igb: fix tx data corruption with transition to L0s on 82575
ehea: Fix memory hotplug support
netdev: DM9000: remove BLACKFIN hacking in DM9000 netdev driver
...
35 files changed, 556 insertions, 290 deletions
diff --git a/drivers/net/8139cp.c b/drivers/net/8139cp.c index 85fa40a0a667..9ba1f0b46429 100644 --- a/drivers/net/8139cp.c +++ b/drivers/net/8139cp.c | |||
| @@ -1836,10 +1836,9 @@ static int cp_init_one (struct pci_dev *pdev, const struct pci_device_id *ent) | |||
| 1836 | 1836 | ||
| 1837 | if (pdev->vendor == PCI_VENDOR_ID_REALTEK && | 1837 | if (pdev->vendor == PCI_VENDOR_ID_REALTEK && |
| 1838 | pdev->device == PCI_DEVICE_ID_REALTEK_8139 && pdev->revision < 0x20) { | 1838 | pdev->device == PCI_DEVICE_ID_REALTEK_8139 && pdev->revision < 0x20) { |
| 1839 | dev_err(&pdev->dev, | 1839 | dev_info(&pdev->dev, |
| 1840 | "This (id %04x:%04x rev %02x) is not an 8139C+ compatible chip\n", | 1840 | "This (id %04x:%04x rev %02x) is not an 8139C+ compatible chip, use 8139too\n", |
| 1841 | pdev->vendor, pdev->device, pdev->revision); | 1841 | pdev->vendor, pdev->device, pdev->revision); |
| 1842 | dev_err(&pdev->dev, "Try the \"8139too\" driver instead.\n"); | ||
| 1843 | return -ENODEV; | 1842 | return -ENODEV; |
| 1844 | } | 1843 | } |
| 1845 | 1844 | ||
diff --git a/drivers/net/8139too.c b/drivers/net/8139too.c index 0daf8c15e381..63f906b04899 100644 --- a/drivers/net/8139too.c +++ b/drivers/net/8139too.c | |||
| @@ -946,10 +946,9 @@ static int __devinit rtl8139_init_one (struct pci_dev *pdev, | |||
| 946 | if (pdev->vendor == PCI_VENDOR_ID_REALTEK && | 946 | if (pdev->vendor == PCI_VENDOR_ID_REALTEK && |
| 947 | pdev->device == PCI_DEVICE_ID_REALTEK_8139 && pdev->revision >= 0x20) { | 947 | pdev->device == PCI_DEVICE_ID_REALTEK_8139 && pdev->revision >= 0x20) { |
| 948 | dev_info(&pdev->dev, | 948 | dev_info(&pdev->dev, |
| 949 | "This (id %04x:%04x rev %02x) is an enhanced 8139C+ chip\n", | 949 | "This (id %04x:%04x rev %02x) is an enhanced 8139C+ chip, use 8139cp\n", |
| 950 | pdev->vendor, pdev->device, pdev->revision); | 950 | pdev->vendor, pdev->device, pdev->revision); |
| 951 | dev_info(&pdev->dev, | 951 | return -ENODEV; |
| 952 | "Use the \"8139cp\" driver for improved performance and stability.\n"); | ||
| 953 | } | 952 | } |
| 954 | 953 | ||
| 955 | if (pdev->vendor == PCI_VENDOR_ID_REALTEK && | 954 | if (pdev->vendor == PCI_VENDOR_ID_REALTEK && |
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index 0b71ebc074b6..f749b40f954e 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig | |||
| @@ -894,7 +894,7 @@ config SMC91X | |||
| 894 | select CRC32 | 894 | select CRC32 |
| 895 | select MII | 895 | select MII |
| 896 | depends on ARM || REDWOOD_5 || REDWOOD_6 || M32R || SUPERH || \ | 896 | depends on ARM || REDWOOD_5 || REDWOOD_6 || M32R || SUPERH || \ |
| 897 | SOC_AU1X00 || BLACKFIN || MN10300 | 897 | MIPS || BLACKFIN || MN10300 |
| 898 | help | 898 | help |
| 899 | This is a driver for SMC's 91x series of Ethernet chipsets, | 899 | This is a driver for SMC's 91x series of Ethernet chipsets, |
| 900 | including the SMC91C94 and the SMC91C111. Say Y if you want it | 900 | including the SMC91C94 and the SMC91C111. Say Y if you want it |
| @@ -966,7 +966,7 @@ config SMC911X | |||
| 966 | tristate "SMSC LAN911[5678] support" | 966 | tristate "SMSC LAN911[5678] support" |
| 967 | select CRC32 | 967 | select CRC32 |
| 968 | select MII | 968 | select MII |
| 969 | depends on ARCH_PXA || SUPERH | 969 | depends on ARM || SUPERH |
| 970 | help | 970 | help |
| 971 | This is a driver for SMSC's LAN911x series of Ethernet chipsets | 971 | This is a driver for SMSC's LAN911x series of Ethernet chipsets |
| 972 | including the new LAN9115, LAN9116, LAN9117, and LAN9118. | 972 | including the new LAN9115, LAN9116, LAN9117, and LAN9118. |
| @@ -2009,6 +2009,11 @@ config IGB_LRO | |||
| 2009 | 2009 | ||
| 2010 | If in doubt, say N. | 2010 | If in doubt, say N. |
| 2011 | 2011 | ||
| 2012 | config IGB_DCA | ||
| 2013 | bool "Enable DCA" | ||
| 2014 | default y | ||
| 2015 | depends on IGB && DCA && !(IGB=y && DCA=m) | ||
| 2016 | |||
| 2012 | source "drivers/net/ixp2000/Kconfig" | 2017 | source "drivers/net/ixp2000/Kconfig" |
| 2013 | 2018 | ||
| 2014 | config MYRI_SBUS | 2019 | config MYRI_SBUS |
diff --git a/drivers/net/ax88796.c b/drivers/net/ax88796.c index 4207d6efddc0..9a314d88e7b6 100644 --- a/drivers/net/ax88796.c +++ b/drivers/net/ax88796.c | |||
| @@ -838,12 +838,12 @@ static int ax_probe(struct platform_device *pdev) | |||
| 838 | 838 | ||
| 839 | /* find the platform resources */ | 839 | /* find the platform resources */ |
| 840 | 840 | ||
| 841 | dev->irq = platform_get_irq(pdev, 0); | 841 | ret = platform_get_irq(pdev, 0); |
| 842 | if (dev->irq < 0) { | 842 | if (ret < 0) { |
| 843 | dev_err(&pdev->dev, "no IRQ specified\n"); | 843 | dev_err(&pdev->dev, "no IRQ specified\n"); |
| 844 | ret = -ENXIO; | ||
| 845 | goto exit_mem; | 844 | goto exit_mem; |
| 846 | } | 845 | } |
| 846 | dev->irq = ret; | ||
| 847 | 847 | ||
| 848 | res = platform_get_resource(pdev, IORESOURCE_MEM, 0); | 848 | res = platform_get_resource(pdev, IORESOURCE_MEM, 0); |
| 849 | if (res == NULL) { | 849 | if (res == NULL) { |
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 8e2be24f3fe4..832739f38db4 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c | |||
| @@ -1341,18 +1341,24 @@ static int bond_compute_features(struct bonding *bond) | |||
| 1341 | int i; | 1341 | int i; |
| 1342 | 1342 | ||
| 1343 | features &= ~(NETIF_F_ALL_CSUM | BOND_VLAN_FEATURES); | 1343 | features &= ~(NETIF_F_ALL_CSUM | BOND_VLAN_FEATURES); |
| 1344 | features |= NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_HIGHDMA | | 1344 | features |= NETIF_F_GSO_MASK | NETIF_F_NO_CSUM; |
| 1345 | NETIF_F_GSO_MASK | NETIF_F_NO_CSUM; | 1345 | |
| 1346 | if (!bond->first_slave) | ||
| 1347 | goto done; | ||
| 1348 | |||
| 1349 | features &= ~NETIF_F_ONE_FOR_ALL; | ||
| 1346 | 1350 | ||
| 1347 | bond_for_each_slave(bond, slave, i) { | 1351 | bond_for_each_slave(bond, slave, i) { |
| 1348 | features = netdev_compute_features(features, | 1352 | features = netdev_increment_features(features, |
| 1349 | slave->dev->features); | 1353 | slave->dev->features, |
| 1354 | NETIF_F_ONE_FOR_ALL); | ||
| 1350 | if (slave->dev->hard_header_len > max_hard_header_len) | 1355 | if (slave->dev->hard_header_len > max_hard_header_len) |
| 1351 | max_hard_header_len = slave->dev->hard_header_len; | 1356 | max_hard_header_len = slave->dev->hard_header_len; |
| 1352 | } | 1357 | } |
| 1353 | 1358 | ||
| 1359 | done: | ||
| 1354 | features |= (bond_dev->features & BOND_VLAN_FEATURES); | 1360 | features |= (bond_dev->features & BOND_VLAN_FEATURES); |
| 1355 | bond_dev->features = features; | 1361 | bond_dev->features = netdev_fix_features(features, NULL); |
| 1356 | bond_dev->hard_header_len = max_hard_header_len; | 1362 | bond_dev->hard_header_len = max_hard_header_len; |
| 1357 | 1363 | ||
| 1358 | return 0; | 1364 | return 0; |
diff --git a/drivers/net/cxgb3/l2t.c b/drivers/net/cxgb3/l2t.c index 4407ac9bb555..ff1611f90e7a 100644 --- a/drivers/net/ | |||
