diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-11-19 18:25:59 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-11-19 18:25:59 -0500 |
| commit | caf8394524fdc039b090cd3af99157e9e76f4f06 (patch) | |
| tree | c58af82b15459a55a66bfae3a9d83a23c2d2c62c | |
| parent | 6656b3fc8aba2eb7ca00c06c7fe4917938b0b652 (diff) | |
| parent | 0302b8622ce696af1cda22fcf207d3793350e896 (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: (31 commits)
net: fix kernel-doc for sk_filter_rcu_release
be2net: Fix to avoid firmware update when interface is not open.
netfilter: fix IP_VS dependencies
net: irda: irttp: sync error paths of data- and udata-requests
ipv6: Expose reachable and retrans timer values as msecs
ipv6: Expose IFLA_PROTINFO timer values in msecs instead of jiffies
3c59x: fix build failure on !CONFIG_PCI
ipg.c: remove id [SUNDANCE, 0x1021]
net: caif: spi: fix potential NULL dereference
ath9k_htc: Avoid setting QoS control for non-QoS frames
net: zero kobject in rx_queue_release
net: Fix duplicate volatile warning.
MAINTAINERS: Add stmmac maintainer
bonding: fix a race in IGMP handling
cfg80211: fix can_beacon_sec_chan, reenable HT40
gianfar: fix signedness issue
net: bnx2x: fix error value sign
8139cp: fix checksum broken
r8169: fix checksum broken
rds: Integer overflow in RDS cmsg handling
...
28 files changed, 164 insertions, 55 deletions
diff --git a/MAINTAINERS b/MAINTAINERS index f51ec0a22ff9..a92c994ba935 100644 --- a/MAINTAINERS +++ b/MAINTAINERS | |||
| @@ -1829,6 +1829,13 @@ W: http://www.chelsio.com | |||
| 1829 | S: Supported | 1829 | S: Supported |
| 1830 | F: drivers/net/cxgb4vf/ | 1830 | F: drivers/net/cxgb4vf/ |
| 1831 | 1831 | ||
| 1832 | STMMAC ETHERNET DRIVER | ||
| 1833 | M: Giuseppe Cavallaro <peppe.cavallaro@st.com> | ||
| 1834 | L: netdev@vger.kernel.org | ||
| 1835 | W: http://www.stlinux.com | ||
| 1836 | S: Supported | ||
| 1837 | F: drivers/net/stmmac/ | ||
| 1838 | |||
| 1832 | CYBERPRO FB DRIVER | 1839 | CYBERPRO FB DRIVER |
| 1833 | M: Russell King <linux@arm.linux.org.uk> | 1840 | M: Russell King <linux@arm.linux.org.uk> |
| 1834 | L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) | 1841 | L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) |
diff --git a/drivers/net/3c59x.c b/drivers/net/3c59x.c index e1da258bbfb7..0a92436f0538 100644 --- a/drivers/net/3c59x.c +++ b/drivers/net/3c59x.c | |||
| @@ -699,7 +699,8 @@ DEFINE_WINDOW_IO(32) | |||
| 699 | #define DEVICE_PCI(dev) NULL | 699 | #define DEVICE_PCI(dev) NULL |
| 700 | #endif | 700 | #endif |
| 701 | 701 | ||
| 702 | #define VORTEX_PCI(vp) (((vp)->gendev) ? DEVICE_PCI((vp)->gendev) : NULL) | 702 | #define VORTEX_PCI(vp) \ |
| 703 | ((struct pci_dev *) (((vp)->gendev) ? DEVICE_PCI((vp)->gendev) : NULL)) | ||
| 703 | 704 | ||
| 704 | #ifdef CONFIG_EISA | 705 | #ifdef CONFIG_EISA |
| 705 | #define DEVICE_EISA(dev) (((dev)->bus == &eisa_bus_type) ? to_eisa_device((dev)) : NULL) | 706 | #define DEVICE_EISA(dev) (((dev)->bus == &eisa_bus_type) ? to_eisa_device((dev)) : NULL) |
| @@ -707,7 +708,8 @@ DEFINE_WINDOW_IO(32) | |||
| 707 | #define DEVICE_EISA(dev) NULL | 708 | #define DEVICE_EISA(dev) NULL |
| 708 | #endif | 709 | #endif |
| 709 | 710 | ||
| 710 | #define VORTEX_EISA(vp) (((vp)->gendev) ? DEVICE_EISA((vp)->gendev) : NULL) | 711 | #define VORTEX_EISA(vp) \ |
| 712 | ((struct eisa_device *) (((vp)->gendev) ? DEVICE_EISA((vp)->gendev) : NULL)) | ||
| 711 | 713 | ||
| 712 | /* The action to take with a media selection timer tick. | 714 | /* The action to take with a media selection timer tick. |
| 713 | Note that we deviate from the 3Com order by checking 10base2 before AUI. | 715 | Note that we deviate from the 3Com order by checking 10base2 before AUI. |
diff --git a/drivers/net/8139cp.c b/drivers/net/8139cp.c index ac422cd332ea..dd16e83933a2 100644 --- a/drivers/net/8139cp.c +++ b/drivers/net/8139cp.c | |||
| @@ -490,13 +490,11 @@ static inline unsigned int cp_rx_csum_ok (u32 status) | |||
| 490 | { | 490 | { |
| 491 | unsigned int protocol = (status >> 16) & 0x3; | 491 | unsigned int protocol = (status >> 16) & 0x3; |
| 492 | 492 | ||
| 493 | if (likely((protocol == RxProtoTCP) && (!(status & TCPFail)))) | 493 | if (((protocol == RxProtoTCP) && !(status & TCPFail)) || |
| 494 | ((protocol == RxProtoUDP) && !(status & UDPFail))) | ||
| 494 | return 1; | 495 | return 1; |
| 495 | else if ((protocol == RxProtoUDP) && (!(status & UDPFail))) | 496 | else |
| 496 | return 1; | 497 | return 0; |
| 497 | else if ((protocol == RxProtoIP) && (!(status & IPFail))) | ||
| 498 | return 1; | ||
| 499 | return 0; | ||
| 500 | } | 498 | } |
| 501 | 499 | ||
| 502 | static int cp_rx_poll(struct napi_struct *napi, int budget) | 500 | static int cp_rx_poll(struct napi_struct *napi, int budget) |
diff --git a/drivers/net/benet/be_main.c b/drivers/net/benet/be_main.c index c36cd2ffbadc..93354eee2cfd 100644 --- a/drivers/net/benet/be_main.c +++ b/drivers/net/benet/be_main.c | |||
| @@ -2458,6 +2458,12 @@ int be_load_fw(struct be_adapter *adapter, u8 *func) | |||
| 2458 | int status, i = 0, num_imgs = 0; | 2458 | int status, i = 0, num_imgs = 0; |
| 2459 | const u8 *p; | 2459 | const u8 *p; |
| 2460 | 2460 | ||
| 2461 | if (!netif_running(adapter->netdev)) { | ||
| 2462 | dev_err(&adapter->pdev->dev, | ||
| 2463 | "Firmware load not allowed (interface is down)\n"); | ||
| 2464 | return -EPERM; | ||
| 2465 | } | ||
| 2466 | |||
| 2461 | strcpy(fw_file, func); | 2467 | strcpy(fw_file, func); |
| 2462 | 2468 | ||
| 2463 | status = request_firmware(&fw, fw_file, &adapter->pdev->dev); | 2469 | status = request_firmware(&fw, fw_file, &adapter->pdev->dev); |
diff --git a/drivers/net/bnx2x/bnx2x_main.c b/drivers/net/bnx2x/bnx2x_main.c index e9ad16f00b56..9709b8569666 100644 --- a/drivers/net/bnx2x/bnx2x_main.c +++ b/drivers/net/bnx2x/bnx2x_main.c | |||
| @@ -9064,7 +9064,7 @@ static int __devinit bnx2x_init_one(struct pci_dev *pdev, | |||
| 9064 | default: | 9064 | default: |
| 9065 | pr_err("Unknown board_type (%ld), aborting\n", | 9065 | pr_err("Unknown board_type (%ld), aborting\n", |
| 9066 | ent->driver_data); | 9066 | ent->driver_data); |
| 9067 | return ENODEV; | 9067 | return -ENODEV; |
| 9068 | } | 9068 | } |
| 9069 | 9069 | ||
| 9070 | cid_count += CNIC_CONTEXT_USE; | 9070 | cid_count += CNIC_CONTEXT_USE; |
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index bdb68a600382..71a169740d05 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c | |||
| @@ -878,8 +878,10 @@ static void __bond_resend_igmp_join_requests(struct net_device *dev) | |||
| 878 | rcu_read_lock(); | 878 | rcu_read_lock(); |
| 879 | in_dev = __in_dev_get_rcu(dev); | 879 | in_dev = __in_dev_get_rcu(dev); |
| 880 | if (in_dev) { | 880 | if (in_dev) { |
| 881 | read_lock(&in_dev->mc_list_lock); | ||
| 881 | for (im = in_dev->mc_list; im; im = im->next) | 882 | for (im = in_dev->mc_list; im; im = im->next) |
| 882 | ip_mc_rejoin_group(im); | 883 | ip_mc_rejoin_group(im); |
| 884 | read_unlock(&in_dev->mc_list_lock); | ||
| 883 | } | 885 | } |
| 884 | 886 | ||
| 885 | rcu_read_unlock(); | 887 | rcu_read_unlock(); |
diff --git a/drivers/net/caif/caif_spi.c b/drivers/net/caif/caif_spi.c index 8b4cea57a6c5..20da1996d354 100644 --- a/drivers/net/caif/caif_spi.c +++ b/drivers/net/caif/caif_spi.c | |||
| @@ -635,8 +635,8 @@ int cfspi_spi_probe(struct platform_device *pdev) | |||
| 635 | 635 | ||
| 636 | ndev = alloc_netdev(sizeof(struct cfspi), | 636 | ndev = alloc_netdev(sizeof(struct cfspi), |
| 637 | "cfspi%d", cfspi_setup); | 637 | "cfspi%d", cfspi_setup); |
| 638 | if (!dev) | 638 | if (!ndev) |
| 639 | return -ENODEV; | 639 | return -ENOMEM; |
| 640 | 640 | ||
| 641 | cfspi = netdev_priv(ndev); | 641 | cfspi = netdev_priv(ndev); |
| 642 | netif_stop_queue(ndev); | 642 | netif_stop_queue(ndev); |
diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c index 49e4ce1246a7..d1bec6269173 100644 --- a/drivers/net/gianfar.c +++ b/drivers/net/gianfar.c | |||
| @@ -577,11 +577,10 @@ static int gfar_parse_group(struct device_node *np, | |||
| 577 | irq_of_parse_and_map(np, 1); | 577 | irq_of_parse_and_map(np, 1); |
| 578 | priv->gfargrp[priv->num_grps].interruptError = | 578 | priv->gfargrp[priv->num_grps].interruptError = |
| 579 | irq_of_parse_and_map(np,2); | 579 | irq_of_parse_and_map(np,2); |
| 580 | if (priv->gfargrp[priv->num_grps].interruptTransmit < 0 || | 580 | if (priv->gfargrp[priv->num_grps].interruptTransmit == NO_IRQ || |
| 581 | priv->gfargrp[priv->num_grps].interruptReceive < 0 || | 581 | priv->gfargrp[priv->num_grps].interruptReceive == NO_IRQ || |
| 582 | priv->gfargrp[priv->num_grps].interruptError < 0) { | 582 | priv->gfargrp[priv->num_grps].interruptError == NO_IRQ) |
| 583 | return -EINVAL; | 583 | return -EINVAL; |
| 584 | } | ||
| 585 | } | 584 | } |
| 586 | 585 | ||
