aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* net_ns: add __rcu annotationsEric Dumazet2010-10-25
| | | | | | | | add __rcu annotation to (struct net)->gen, and use rcu_dereference_protected() in net_assign_generic() Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* rps: add __rcu annotationsEric Dumazet2010-10-25
| | | | | | | | | | | | Add __rcu annotations to : (struct netdev_rx_queue)->rps_map (struct netdev_rx_queue)->rps_flow_table struct rps_sock_flow_table *rps_sock_flow_table; And use appropriate rcu primitives. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* netfilter: fix module dependency issues with IPv6 defragmentation, ip6tables ↵KOVACS Krisztian2010-10-25
| | | | | | | | | | | | | | | | | and xt_TPROXY One of the previous tproxy related patches split IPv6 defragmentation and connection tracking, but did not correctly add Kconfig stanzas to handle the new dependencies correctly. This patch fixes that by making the config options mirror the setup we have for IPv4: a distinct config option for defragmentation that is automatically selected by both connection tracking and xt_TPROXY/xt_socket. The patch also changes the #ifdefs enclosing IPv6 specific code in xt_socket and xt_TPROXY: we only compile these in case we have ip6tables support enabled. Signed-off-by: KOVACS Krisztian <hidden@balabit.hu> Signed-off-by: David S. Miller <davem@davemloft.net>
* tunnels: add _rcu annotationsEric Dumazet2010-10-25
| | | | | | | | | | | (struct ip6_tnl)->next is rcu protected : (struct ip_tunnel)->next is rcu protected : (struct xfrm6_tunnel)->next is rcu protected : add __rcu annotation and proper rcu primitives. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* net/802: add __rcu annotationsEric Dumazet2010-10-25
| | | | | | | | | | (struct net_device)->garp_port is rcu protected : (struct garp_port)->applicants is rcu protected : add __rcu annotation and proper rcu primitives. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* ipv6: ip6_ptr rcu annotationsEric Dumazet2010-10-25
| | | | | | | | | (struct net_device)->ip6_ptr is rcu protected : add __rcu annotation and proper rcu primitives. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* vlan: rcu annotationsEric Dumazet2010-10-25
| | | | | | | | | (struct net_device)->vlgrp is rcu protected : add __rcu annotation and proper rcu primitives. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* tms380tr: Use mdelay() in tms380tr_wait().David S. Miller2010-10-25
| | | | | | | | This driver tries to do up to half-second udelay() calls, which overflows on x86-64. Reported-by: Andi Kleen <andi@firstfloor.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* net: Increase xmit RECURSION_LIMIT to 10.David S. Miller2010-10-25
| | | | | | | | Three is definitely too low, and we know from reports that GRE tunnels stacked as deeply as 37 levels cause stack overflows, so pick some reasonable value between those two. Signed-off-by: David S. Miller <davem@davemloft.net>
* mlx4_en: Fix out of bounds array accessEli Cohen2010-10-25
| | | | | | | | | | When searching for a free entry in either mlx4_register_vlan() or mlx4_register_mac(), and there is no free entry, the loop terminates without updating the local variable free thus causing out of array bounds access. Fix this by adding a proper check outside the loop. Signed-off-by: Eli Cohen <eli@mellanox.co.il> Signed-off-by: David S. Miller <davem@davemloft.net>
* macb: Don't re-enable interrupts while in polling modeJoshua Hoke2010-10-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | On a busy network, the macb driver could get stuck in the interrupt handler, quickly triggering the watchdog, due to a confluence of factors: 1. macb_poll re-enables interrupts unconditionally, even when it will be called again because it exhausted its rx budget 2. macb_interrupt only disables interrupts after scheduling macb_poll, but scheduling fails when macb_poll is already scheduled because it didn't call napi_complete 3. macb_interrupt loops until the interrupt status register is clear, which will never happen in this case if the driver doesn't disable the RX interrupt Since macb_interrupt runs in interrupt context, this effectively locks up the machine, triggering the hardware watchdog. This issue was readily reproducible on a flooded network with a modified 2.6.27.48 kernel. The same problem appears to still be in the 2.6.36-rc8 driver code, so I am submitting this patch against that version. I have not tested this version of the patch except to make sure the kernel compiles. Signed-off-by: Joshua Hoke <joshua.hoke@sixnet.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: Fix CSO for UDP packetsSomnath Kotur2010-10-25
| | | | | | | | We're setting skb->ip_summed to CHECKSUM_NONE for all non-TCP pkts, making the stack recompute checksum.This is a bug for UDP pkts for which cso must be used. Signed-off-by: Somnath Kotur <somnath.kotur@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* be2net: Call netif_carier_off() after register_netdev()Somnath Kotur2010-10-25
| | | | | | | | | Calling netif_carrier_off before register_netdev was causing the network interface to miss a linkwatch pending event leading to an inconsistent state if the link is not up when interface is initialized.This is now invoked after register_netdev. Signed-off-by: Somnath Kotur <somnath.kotur@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb3: fix device opening error pathDivy Le Ray2010-10-25
| | | | | | | | | | Only negative return from bind_qsets() should be considered an error and propagated. It fixes an issue reported by IBM on P Series platform. Signed-off-by: Divy Le Ray <divy@chelsio.com> Tested-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* l2tp: static functions should not be exportedStephen Rothwell2010-10-25
| | | | | | | | | | | | | | Causes these build failures on PowerPC: net/l2tp/l2tp_core.c:1228: error: __ksymtab_l2tp_tunnel_closeall causes a section type conflict net/l2tp/l2tp_core.c:1228: error: __ksymtab_l2tp_tunnel_closeall causes a section type conflict net/l2tp/l2tp_core.c:1006: error: __ksymtab_l2tp_xmit_core causes a section type conflict net/l2tp/l2tp_core.c:1006: error: __ksymtab_l2tp_xmit_core causes a section type conflict net/l2tp/l2tp_core.c:847: error: __ksymtab_l2tp_udp_recv_core causes a section type conflict net/l2tp/l2tp_core.c:847: error: __ksymtab_l2tp_udp_recv_core causes a section type conflict Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
* typhoon: update to new VLAN acceleration modelDavid Dillow2010-10-24
| | | | | | | Also correct the byteswapping as we keep the TCI in host order. Signed-off-by: David Dillow <dave@thedillows.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* typhoon: wait for RX mode commands to finishDavid Dillow2010-10-24
| | | | | | | | | | When adding VLAN devices, we can get several calls to typhoon_set_rx_mode() in quick succession. Because we didn't wait for the commands to complete, we could run out of command descriptors and fail to set the RX mode. Signed-off-by: David Dillow <dave@thedillows.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* netlink: fix netlink_change_ngroups()Eric Dumazet2010-10-24
| | | | | | | | | | | | | | | | | | | | | commit 6c04bb18ddd633 (netlink: use call_rcu for netlink_change_ngroups) used a somewhat convoluted and racy way to perform call_rcu(). The old block of memory is freed after a grace period, but the rcu_head used to track it is located in new block. This can clash if we call two times or more netlink_change_ngroups(), and a block is freed before another. call_rcu() called on different cpus makes no guarantee in order of callbacks. Fix this using a more standard way of handling this : Each block of memory contains its own rcu_head, so that no 'use after free' can happens. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> CC: Johannes Berg <johannes@sipsolutions.net> CC: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* slhc: Don't export symbols twiceDenis Kirjanov2010-10-24
| | | | | | | Don't export symbols twice. Signed-off-by: Denis Kirjanov <dkirjanov@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* jme: Support WoL after shutdownGuo-Fu Tseng2010-10-24
| | | | | | | | | | | | | | | | Adding shutdown function that setup wake if wol is enabled. Add jme_phy_on in jme_set_100m_half in case it is shutting down or suspending when interface is down(phy_off by default). v2 updates: Removed CONFIG_PM ifdef for jme_set_100m_half and jme_wait_link. It would be nice if it can be applied to net-2.6 along with other patches sent few days ago. If it is not appropriate, please ignore the net-2.6 request, and apply it to net-next-2.6 as previous patch. :) Reported-and-helped-by: Сtac <Taoga@yandex.ru> Signed-off-by: Guo-Fu Tseng <cooldavid@cooldavid.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* tproxy: Add missing CAP_NET_ADMIN check to ipv6 sideBalazs Scheidler2010-10-24
| | | | | | | | | | | | IP_TRANSPARENT requires root (more precisely CAP_NET_ADMIN privielges) for IPV6. However as I see right now this check was missed from the IPv6 implementation. Acked-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* vmxnet3: fix typo setting confPAHarvey Harrison2010-10-24
| | | | | | | | | | | | | It's a le64, not a le32, typo in one place only. Noticed by sparse: drivers/net/vmxnet3/vmxnet3_drv.c:2668:52: warning: incorrect type in assignment (different base types) drivers/net/vmxnet3/vmxnet3_drv.c:2668:52: expected restricted __le64 [usertype] confPA drivers/net/vmxnet3/vmxnet3_drv.c:2668:52: got restricted __le32 [usertype] <noident> Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Shreyas Bhatewara <sbhatewara@vmware.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* vmxnet3: annotate hwaddr members as __iomem pointersHarvey Harrison2010-10-24
| | | | | | Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Shreyas Bhatewara <sbhatewara@vmware.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* vmxnet3: remove set_flag_le{16,64} helpersHarvey Harrison2010-10-24
| | | | | | | | | It's easier to just annotate the constants as little endian types and set/clear the flags directly. Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Shreyas Bhatewara <sbhatewara@vmware.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4: update to utilize the newer VLAN infrastructureDimitris Michailidis2010-10-24
| | | | | Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb4: fix crash due to manipulating queues before registrationDimitris Michailidis2010-10-24
| | | | | | | | | | | Before commit "net: allocate tx queues in register_netdevice" netif_tx_stop_all_queues and related functions could be used between device allocation and registration but now only after registration. cxgb4 has such a call before registration and crashes now. Move it after register_netdev. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* can: tscan1: add driver for TS-CAN1 boardsAndre B. Oliveira2010-10-24
| | | | | | | | | Add driver for Technologic Systems TS-CAN1 PC104 peripheral boards. Signed-off-by: Andre B. Oliveira <anbadeol@gmail.com> Acked-by: Wolfgang Grandegger <wg@grandegger.com> Reviewed-by: Wolfram Sang <w.sang@pengutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
* ip6_tunnel dont update the mtu on the route.Anders Franzen2010-10-24
| | | | | | | | | | | The ip6_tunnel device did not unset the flag, IFF_XMIT_DST_RELEASE. This will make the dev layer to release the dst before calling the tunnel. The tunnel will not update any mtu/pmtu info, since it does not have a dst on the skb. Acked-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* pktgen: clean up handling of local/transient counter varsPaul Gortmaker2010-10-24
| | | | | | | | | | | | | | | | | The temporary variable "i" is needlessly initialized to zero in two distinct cases in this file: 1) where it is set to zero and then used as an argument in an addition before being assigned a non-zero value. 2) where it is only used in a standard/typical loop counter For (1), simply delete assignment to zero and usages while still zero; for (2) simply make the loop start at zero as per standard practice as seen everywhere else in the same file. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* e1000: make e1000_reinit_safe localstephen hemminger2010-10-24
| | | | | | Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Acked-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* bnx2x: make local function static and remove dead codestephen hemminger2010-10-24
| | | | | | | | Make many functions that are only used in one file static. Remove dead code for override_led_value. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* qlge: disable unsed dump codestephen hemminger2010-10-24
| | | | | | | | The driver has lots of unused code to dump data structures to console. Use existing simple way to remove the code with ifdef. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* qlge: make local functions staticstephen hemminger2010-10-24
| | | | | Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* vxge: make functions local and remove dead codestephen hemminger2010-10-24
| | | | | | | | | | | | Use results of make namespacecheck to make functions local and remove code that is not used. Also rename initialize_ethtool_ops to vxge_initialize_ethtool_ops. Compile tested only. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* phylib: make local function staticstephen hemminger2010-10-24
| | | | | | | | | | | | | | | | | The following functions are not used directly by any drivers: phy_attach_direct phy_device_create phy_prepare_link genphy_config_advert genphy_setup_forced phy_config_interrupt phy_clear_interrypt phy_sanitize_settings phy_enable_interrupts phy_disable_interrupts Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* atlx: make local functions/data staticstephen hemminger2010-10-24
| | | | | Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* atl1c: make functions staticstephen hemminger2010-10-24
| | | | | | | The up/down are only used in this file. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* benet: make be_poll_rx localstephen hemminger2010-10-24
| | | | | | | Only used in one file. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* benet: remove dead codestephen hemminger2010-10-24
| | | | | | | | The following code and data are defined but never used in current driver. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* l2tp: make local function staticstephen hemminger2010-10-24
| | | | | | | | | Also moved the refcound inlines from l2tp_core.h to l2tp_core.c since only used in that one file. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Acked-by: James Chapman <jchapman@katalix.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* mlx4: make functions local and remove dead code.stephen hemminger2010-10-24
| | | | | | | | Make the following function static: mlx4_UNMAP_ICM Remove the following unused function: mlx4_MAP_ICM_page Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* can: at91_can: add KBUILD_MODNAME to bittiming constantMarc Kleine-Budde2010-10-24
| | | | | | | While there replace all usage of self defined DRV_NAME by KBUILD_MODNAME. Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
* can: at91_can: convert dev_<level> printing to netdev_<level>Marc Kleine-Budde2010-10-24
| | | | | | | While there, remove "printk()" on driver loading. Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
* can: at91_can: convert readl, writel their __raw pendantsMarc Kleine-Budde2010-10-24
| | | | | | Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
* can: at91_can: set bittiming in chip_startMarc Kleine-Budde2010-10-24
| | | | | Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
* can: at91_can: implement and use at91_get_berr_counterMarc Kleine-Budde2010-10-24
| | | | | Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
* can: at91_can: fix section mismatch warningMarc Kleine-Budde2010-10-24
| | | | | | | | | ...by adding the correct annotation "__devinit" to the driver's probe function. Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
* can: at91_can: fix compiler warning in at91_irq_err_stateMarc Kleine-Budde2010-10-24
| | | | | | | | | | | This patch fixes the following compiler warning: drivers/net/can/at91_can.c: In function 'at91_irq_err_state': drivers/net/can/at91_can.c:779: warning: 'reg_ier' may be used uninitialized in this function drivers/net/can/at91_can.c:779: warning: 'reg_idr' may be used uninitialized in this function Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
* can: at91_can: fix use after free of privMarc Kleine-Budde2010-10-24
| | | | | | | | | | | | The priv is part of the memory allocated by alloc_candev(). This patch moved the free it after last usage of priv. While there convert all free_netdev() to free_candev() (which is currently just a wrapper around free_netdev()) to be symetrically with the allocation via alloc_candev(). Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
* can: at91_can: fix reception of extended framesMarc Kleine-Budde2010-10-24
| | | | | | | | | | | | | | The AT91_MID_MIDE bit must be set in order to receive extended frames. The reception of an extended frame sets this bit, while reception of standard frames resets it. This results in some lost extended frames in an extended ID only environment. But leads to unpredictable lost extended ID frames in a mixed environment. The problem is fixed by setting the AT91_MID_MIDE after reception of a CAN frame. Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>