summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* net: sun4i-emac: Staticize local symbolsSachin Kamat2013-06-051-2/+2
| | | | | | | | | Some symbols referenced only in this file are made static. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Cc: Stefan Roese <sr@denx.de> Cc: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* net: sun4i-emac: Remove redundant platform_set_drvdata()Sachin Kamat2013-06-051-2/+0
| | | | | | | | | | | Commit 0998d06310 (device-core: Ensure drvdata = NULL when no driver is bound) removes the need to set driver data field to NULL. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Cc: Stefan Roese <sr@denx.de> Cc: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* net: emaclite: Use platform resource tableMichal Simek2013-06-051-45/+22
| | | | | | | | | | | Read data directly from platform recource table and do not use of_irq_to_resource(). Also use devm_request_and_ioremap() for probe functions simplification. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: David S. Miller <davem@davemloft.net>
* cxgb3: Correct comparisons and calculations using skb->tail and ↵Li RongQing2013-06-052-2/+2
| | | | | | | | | | | | | | | skb-transport_header This corrects an regression introduced by "net: Use 16bits for *_headers fields of struct skbuff" when NET_SKBUFF_DATA_USES_OFFSET is not set. In that case skb->tail will be a pointer whereas skb->transport_header will be an offset from head. This is corrected by using wrappers that ensure that comparisons and calculations are always made using pointers. Cc: Simon Horman <horms@verge.net.au> Signed-off-by: Li RongQing <roy.qing.li@gmail.com> Reviewed-by: Simon Horman <horms@verge.net.au> Signed-off-by: David S. Miller <davem@davemloft.net>
* netpoll: fix position of network headerAmerigo Wang2013-06-051-16/+4
| | | | | | | | | | | | | | | Similar to the problem in pktgen, netpoll uses skb_tail_offset() too, as the code is copied from pktgen. Also use return values of skb_put() directly, this will simiplify the code. Reported-by: Thomas Graf <tgraf@suug.ch> Cc: Thomas Graf <tgraf@suug.ch> Cc: Daniel Borkmann <dborkmann@redhat.com> Cc: David S. Miller <davem@davemloft.net> Signed-off-by: Cong Wang <amwang@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* pktgen: Fix position of ip and udp headerThomas Graf2013-06-051-27/+12
| | | | | | | | | | | | | | | | skb_set_network_header() expects an offset based on the data pointer whereas skb_tail_offset() also includes the headroom. This resulted in the ip header being written in a wrong location. Use return values of skb_put() directly and rely on skb->len to set mac, network, and transport header. Cc: Simon Horman <horms@verge.net.au> Cc: Daniel Borkmann <dborkmann@redhat.com> Assisted-by: Daniel Borkmann <dborkmann@redhat.com> Signed-off-by: Thomas Graf <tgraf@suug.ch> Acked-by: Daniel Borkmann <dborkmann@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* net: sun4i-emac: remove erroneous assignmentArnd Bergmann2013-06-051-4/+0
| | | | | | | | | | | | | | | | | | The newly added sun4i-emac driver causes a build error when CONFIG_NET_POLL_CONTROLLER is set, because it attempts to assign a pointer to netdev->poll_controller, which has been replaced with ops->ndo_poll_controller in 2.6.31! The correct assignment is present as well, so we just need to remove the wrong one. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: Stefan Roese <sr@denx.de> Cc: Maxime Ripard <maxime.ripard@free-electrons.com> Cc: Richard Genoud <richard.genoud@gmail.com> Acked-by: Stefan Roese <sr@denx.de> Acked-by: Maxime Ripard <maxime.ripard@anandra.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* mlx4: use __netdev_pick_tx instead of __skb_tx_hash in mlx4_en_select_queuegovindarajulu.v2013-06-051-1/+1
| | | | | | | | | | | | mlx4_en_select_queue() uses __skb_tx_hash to select the transmit queue. XPS settings are ignored by this. Instead, we can use __netdev_pick_tx to select the transmit queue. Compile test only. Signed-off-by: govindarajulu.v <govindarajulu90@gmail.com> Acked-By: Amir Vadai <amirv@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* net/mlx4: use one page fragment per incoming frameEric Dumazet2013-06-051-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mlx4 driver has a suboptimal memory allocation strategy for regular MTU=1500 frames, as it uses two page fragments : One of 512 bytes and one of 1024 bytes. This makes GRO less effective, as each GSO packet contains 8 MSS instead of 16 MSS. Performance of a single TCP flow gains 25 % increase with the following patch. Before patch : A:~# netperf -H 192.168.0.2 -Cc MIGRATED TCP STREAM TEST ... Recv Send Send Utilization Service Demand Socket Socket Message Elapsed Send Recv Send Recv Size Size Size Time Throughput local remote local remote bytes bytes bytes secs. 10^6bits/s % S % S us/KB us/KB 87380 16384 16384 10.00 13798.47 3.06 4.20 0.436 0.598 After patch : A:~# netperf -H 192.68.0.2 -Cc MIGRATED TCP STREAM TEST ... Recv Send Send Utilization Service Demand Socket Socket Message Elapsed Send Recv Send Recv Size Size Size Time Throughput local remote local remote bytes bytes bytes secs. 10^6bits/s % S % S us/KB us/KB 87380 16384 16384 10.00 17273.80 3.44 4.19 0.391 0.477 Signed-off-by: Eric Dumazet <edumazet@google.com> Cc: Amir Vadai <amirv@mellanox.com> Acked-By: Amir Vadai <amirv@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* net: mvneta: read MAC address from hardware when availableThomas Petazzoni2013-06-051-9/+35
| | | | | | | | | | | | | | | | | | | | | | | | This patch improves the logic used by the mvneta driver to find a MAC address for a particular interface. Until now, it was only looking at the Device Tree, and if no address was found, was falling back to generating a random MAC address. This patch adds the intermediate solution of reading the MAC address from the hardware registers, in case it has been set by the bootloader. So the order is now: 1) MAC address from the Device Tree 2) MAC address from the hardware registers 3) Random MAC address This requires moving the MAC address initialization a little bit later in the ->probe() code, because it now requires the hardware registers to be remapped. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Cc: Joe Perches <joe@perches.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* net: sun4i-emac: fix a typo in emac_probe()Wei Yongjun2013-06-051-1/+1
| | | | | | | | Just fixed a typo in emac_probe(). Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* net: mv643xx_eth: add missing semicolonArnd Bergmann2013-06-051-3/+5
| | | | | | | | | | | | | | | 76723bca28 "net: mv643xx_eth: add DT parsing support" added a dummy mv643xx_eth_shared_of_probe() fallback function with a typo. This adds the missing semicolon so we can build without CONFIG_OF again, and changes both dummy functions to the more conventional "static inline" syntax, which can avoid potential problems with the empty macro. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'for-davem' of git://gitorious.org/linux-can/linux-can-nextDavid S. Miller2013-06-0514-58/+30
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Marc Kleine-Budde says: ==================== this is a pull-request for net-next/master. It consists of two patches by Fabio Estevam, cleaning up the flexcan driver (remove default pinctrl and switch to SIMPLE_DEV_PM_OPS). A patch by me to simplify the Kconfig [1] handling for flexcan. And a patch by Jingoo Han that converts the can drivers to use platform_{get,set}_drvdata(). [1] My patch touches arch/{arm,powerpc}, so I collected Acked-bys from Arnd Bergmann, Shawn Guo and Benjamin Herrenschmidt. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
| * net: can: use platform_{get,set}_drvdata()Jingoo Han2013-06-038-30/+20
| | | | | | | | | | | | | | | | | | | | | | | | Use the wrapper functions for getting and setting the driver data using platform_device instead of using dev_{get,set}_drvdata() with &pdev->dev, so we can directly pass a struct platform_device. Also, unnecessary dev_set_drvdata() is removed, because the driver core clears the driver data to NULL after device_release or on probe failure. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
| * can: flexcan: remove HAVE_CAN_FLEXCAN Kconfig symbolMarc Kleine-Budde2013-06-035-11/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes the Kconfig symbol HAVE_CAN_FLEXCAN from arch/{arm,powerpc} and allowing compilation unconditionally on all arm and powerpc platforms. This brings a bigger compile time coverage and removes the following dependency warning found by Arnd Bergmann: warning: (SOC_IMX28 && SOC_IMX25 && SOC_IMX35 && IMX_HAVE_PLATFORM_FLEXCAN && SOC_IMX53 && SOC_IMX6Q) selects HAVE_CAN_FLEXCAN which has unmet direct dependencies (NET && CAN && CAN_DEV) Acked-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
| * can: flexcan: Use SIMPLE_DEV_PM_OPSFabio Estevam2013-06-031-11/+9
| | | | | | | | | | | | | | | | | | Using SIMPLE_DEV_PM_OPS can make the code smaller and simpler. Also change CONFIG_PM to CONFIG_PM_SLEEP. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
| * can: flexcan: Let device core handle pinctrlFabio Estevam2013-06-031-6/+0
| | | | | | | | | | | | | | | | | | | | | | Since commit ab78029 (drivers/pinctrl: grab default handles from device core) we can rely on device core for handling pinctrl, so remove devm_pinctrl_get_select_default() from the driver. Cc: Marc Kleine-Budde <mkl@pengutronix.de> Cc: <linux-can@vger.kernel.org> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
* | net/ethtool: Fix comment regarding location of dev_ethtool() callYan Burman2013-06-051-1/+1
| | | | | | | | | | Signed-off-by: Yan Burman <yanb@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | ping: always initialize ->sin6_scope_id and ->sin6_flowinfoCong Wang2013-06-051-3/+3
| | | | | | | | | | | | | | | | | | | | | | If we don't need scope id, we should initialize it to zero. Same for ->sin6_flowinfo. Cc: Lorenzo Colitti <lorenzo@google.com> Cc: David S. Miller <davem@davemloft.net> Signed-off-by: Cong Wang <amwang@redhat.com> Acked-by: Lorenzo Colitti <lorenzo@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: mark netdev_create_hash __net_initBaruch Siach2013-06-051-1/+1
| | | | | | | | | | | | | | | | netdev_create_hash() is only called from netdev_init() which is marked __net_init. Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: emaclite: Fix typo in error messageJens Renner \(EFE\)2013-06-051-1/+1
| | | | | | | | | | | | | | | | s/allocal/allocate/ Signed-off-by: Jens Renner <renner@efe-gmbh.de> Acked-by: Michal Simek <monstr@monstr.eu> Signed-off-by: David S. Miller <davem@davemloft.net>
* | transp_v6.h: style neateningJoe Perches2013-06-051-52/+37
| | | | | | | | | | | | | | | | | | | | | | | | Use a more current code style. Remove extern from function prototypes. Align function arguments and reflow to 80 cols. Use network comment styles. Signed-off-by: Joe Perches <joe@perches.com> cc: Lorenzo Colitti <lorenzo@google.com>, Signed-off-by: David S. Miller <davem@davemloft.net>
* | Kconfig: remove dangling references to the deleted fileJean Sacren2013-06-051-8/+3
| | | | | | | | | | | | | | | | | | | | | | Commit 202dc3fc599c1dded235d3b448d9ca924252e354 (Documentation: remove obsolete networking/multicast.txt file) deleted the obsolete file. After the file has been removed, clean up a couple of places where references to the deleted file were made so that users wouldn't be confused when they consult the Help menu. Signed-off-by: Jean Sacren <sakiwit@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: do not manually initialize enumeratorsJean Sacren2013-06-051-3/+3
| | | | | | | | | | | | | | | | Clean up unnecessary initialization of enumerators as the compiler takes care of that. Signed-off-by: Jean Sacren <sakiwit@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | xfrm: simplify the exit path of xfrm_output_one()Jean Sacren2013-06-051-5/+4
| | | | | | | | | | | | | | | | Clean up unnecessary assignment and jump. While there, fix up the label name. Signed-off-by: Jean Sacren <sakiwit@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | ARM: dts: AM33XX: Add phy-mode to CPSW nodeMugunthan V N2013-06-043-0/+6
| | | | | | | | | | | | | | Adding phy-mode to CPSW node for beaglebone, EVM and EVMsk. Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | drivers: net: ethernet: cpsw: add phy-mode support to cpsw driverMugunthan V N2013-06-042-0/+8
| | | | | | | | | | | | | | | | Adding phy-mode support to cpsw driver and updating the cpsw binding documentation. Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | ARM: dts: AM33XX: Add CPSW phy_id device tree data to am335x-evmskMugunthan V N2013-06-041-0/+8
| | | | | | | | | | | | | | | | Add phy_id device tree data to am335x-evmsk device to bring up CPSW ethernet present on am335x starter kit. Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | ARM: OMAP2+: omap2plus_defconfig: Enable Atheros supportMugunthan V N2013-06-041-0/+1
| | | | | | | | | | | | | | | | Enable Atheros 803X phy driver support in defconfig which is present in AM335x EVM and EVM Starter Kit. Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | drivers: net: phy: at803x: add support for AT8031Mugunthan V N2013-06-041-0/+15
| | | | | | | | | | | | | | This patch adds support for Atheros 8031 phy driver. Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | drivers: net: phy: at803x: add interface mode supportMugunthan V N2013-06-041-0/+16
| | | | | | | | | | | | | | | | | | This patch adds support for RGMII TX delay configuration on Atheros 803X, this can be enabled in debug registers. With this patch, PHY_INTERFACE_MODE_RGMII_TXID modes are now supported. Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | drivers: net: phy: at803x: seperate wol specific code to wol standard apisMugunthan V N2013-06-041-16/+48
| | | | | | | | | | | | | | | | | | | | WOL is initilized in phy config_init, but there are standard apis (set_wol/get_wol) for WOL in phy frame work. So this patch moves WOL specific code from config_init to wol standard apis. Cc: Matus Ujhelyi <ujhelyi.m@gmail.com> Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | drivers: net: phy: at803x code cleanup on register and unregister driverMugunthan V N2013-06-041-25/+10
| | | | | | | | | | | | | | | | | | Make use of phy_drivers_register/phy_drivers_unregister to register/unregister multiple phy drivers in a single module. Cc: Matus Ujhelyi <ujhelyi.m@gmail.com> Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: ipv6: Implement /proc/net/icmp6.Lorenzo Colitti2013-06-043-32/+99
| | | | | | | | | | | | | | | | | | | | The format is based on /proc/net/icmp and /proc/net/{udp,raw}6. Compiles and displays reasonable results with CONFIG_IPV6={n,m,y} Couldn't figure out how to test without CONFIG_PROC_FS enabled. Signed-off-by: Lorenzo Colitti <lorenzo@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: ipv4: make the ping /proc code AF-independentLorenzo Colitti2013-06-042-26/+55
| | | | | | | | | | | | | | | | | | | | | | | | Introduce a ping_seq_afinfo structure (similar to its UDP equivalent) and use it to make some of the ping /proc functions address-family independent. Rename the remaining ping /proc functions from ping_* to ping_v4_*. Compiles and displays reasonable results with CONFIG_IPV6={n,m,y} Signed-off-by: Lorenzo Colitti <lorenzo@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: ipv6: Unify {raw,udp}6_sock_seq_show.Lorenzo Colitti2013-06-044-77/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | udp6_sock_seq_show and raw6_sock_seq_show are identical, except the UDP version displays ports and the raw version displays the protocol. Refactor most of the code in these two functions into a new common ip6_dgram_sock_seq_show function, in preparation for using it to display ICMPv6 sockets as well. Also reduce the indentation in parts of include/net/transp_v6.h to improve readability. Compiles and displays reasonable results with CONFIG_IPV6={n,m,y} Signed-off-by: Lorenzo Colitti <lorenzo@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | Clean up indentation in net/ipv6/transp_v6.hLorenzo Colitti2013-06-041-35/+35
|/ | | | | | | | | Reduce the indentation of most of the functions and make it a bit more consistent. This allows longer function and arg names to be consistently indented without wrapping. Signed-off-by: Lorenzo Colitti <lorenzo@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* tg3: remove redundant pm init codeYijing Wang2013-06-031-21/+3
| | | | | | | | | Pci_enable_device() will set device pm state to D0, so it's no need to do it again in tg3_init_one(). Acked-by: Michael Chan <mchan@broadcom.com> Signed-off-by: Yijing Wang <wangyijing@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* ssb: sprom: replace strict_strtoul() with kstrtoul()Jingoo Han2013-06-031-1/+1
| | | | | | | | | The usage of strict_strtoul() is not preferred, because strict_strtoul() is obsolete. Thus, kstrtoul() should be used. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* net: wireless: replace strict_strtoul() with kstrtoul()Jingoo Han2013-06-037-14/+14
| | | | | | | | | The usage of strict_strtoul() is not preferred, because strict_strtoul() is obsolete. Thus, kstrtoul() should be used. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* net: ethernet: replace strict_strtoul() with kstrtoul()Jingoo Han2013-06-032-4/+4
| | | | | | | | | The usage of strict_strtoul() is not preferred, because strict_strtoul() is obsolete. Thus, kstrtoul() should be used. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* net: can: replace strict_strtoul() with kstrtoul()Jingoo Han2013-06-034-4/+4
| | | | | | | | | The usage of strict_strtoul() is not preferred, because strict_strtoul() is obsolete. Thus, kstrtoul() should be used. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* icmp: avoid allocating large struct on stackCong Wang2013-06-031-17/+23
| | | | | | | | | | | struct icmp_bxm is a large struct, reduce stack usage by allocating it on heap. Cc: Eric Dumazet <eric.dumazet@gmail.com> Cc: Joe Perches <joe@perches.com> Cc: David S. Miller <davem@davemloft.net> Signed-off-by: Cong Wang <amwang@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* ] icmp: fix icmp_unreach() comment.Rami Rosen2013-06-031-1/+2
| | | | | | | | ICMP_PARAMETERPROB is handled by icmp_unreach(); This patch adds ICMP_PARAMETERPROB to the list of ICMP message types handled by icmp_unreach(). Signed-off-by: Rami Rosen <ramirose@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* ibm-ethernet: delete stale MCA and duplicate PSERIES dependencyPaul Gortmaker2013-06-031-2/+1
| | | | | | | | | | | MCA support has been removed but this dependency escaped removal. Also, there is a duplicate PPC_PSERIES dependency that appeared when the ethernet drivers were separated into vendor/model specific directories, so we remove that here as well. Reported-by: Robert de Rooy <robert.de.rooy@gmail.com> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* ipv4: use separate genid for next hop exceptionsTimo Teräs2013-06-033-2/+22
| | | | | | | | | | | | | | | | | | commit 13d82bf5 (ipv4: Fix flushing of cached routing informations) added the support to flush learned pmtu information. However, using rt_genid is quite heavy as it is bumped on route add/change and multicast events amongst other places. These can happen quite often, especially if using dynamic routing protocols. While this is ok with routes (as they are just recreated locally), the pmtu information is learned from remote systems and the icmp notification can come with long delays. It is worthy to have separate genid to avoid excessive pmtu resets. Cc: Steffen Klassert <steffen.klassert@secunet.com> Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: David S. Miller <davem@davemloft.net>
* ipv4: rate limit updating of next hop exceptions with same pmtuTimo Teräs2013-06-031-0/+4
| | | | | | | | | | The tunnel devices call update_pmtu for each packet sent, this causes contention on the fnhe_lock. Ignore the pmtu update if pmtu is not actually changed, and there is still plenty of time before the entry expires. Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: David S. Miller <davem@davemloft.net>
* ipv4: properly refresh rtable entries on pmtu/redirect eventsTimo Teräs2013-06-034-41/+43
| | | | | | | | | | | | | This reverts commit 05ab86c5 (xfrm4: Invalidate all ipv4 routes on IPsec pmtu events). Flushing all cached entries is not needed. Instead, invalidate only the related next hop dsts to recheck for the added next hop exception where needed. This also fixes a subtle race due to bumping generation id's before updating the pmtu. Cc: Steffen Klassert <steffen.klassert@secunet.com> Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: David S. Miller <davem@davemloft.net>
* bnx2x: fix a power state testYuval Mintz2013-06-031-1/+2
| | | | | | | | | | | If PCIe supports PM capabilities, bnx2x will always claim eeprom is accessible as PCI_D0 is zero. Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com> Signed-off-by: Ariel Elior <ariele@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* bnx2x: semi-Semantic changesYuval Mintz2013-06-031-6/+8
| | | | | | | | | | | | This patch includes a few changes that change the driver's flow without truly changing anything in its functionality - use usleep_range for short sleeps instead of msleep and initialize Tx consumer during initialization for better information during errors. Signed-off-by: Yuval Mintz <yuvalmin@broadcom.com> Signed-off-by: Ariel Elior <ariele@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>