summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-03-24forcedeth: Call dev_kfree_skb_any instead of kfree_skb.Eric W. Biederman
Replace kfree_skb with dev_kfree_skb_any in functions that can be called in hard irq and other contexts. Every location changes is a drop making dev_kfree_skby_any appropriate. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24vxge: Call dev_kfree_skb_any instead of dev_kfree_skb.Eric W. Biederman
Replace dev_kfree_skb with dev_kfree_skb_any in vxge_xmit that can be called in hard irq and other contexts. vxge_xmit only calls dev_kfree_skb_any when errors result in dropping skbs. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24s2io: Call dev_kfree_skb_any instead of dev_kfree_skb.Eric W. Biederman
Replace dev_kfree_skb with dev_kfree_skb_any in s2io_xmit that can be called in hard irq and other contexts. All instances that are changed are packet drops. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24ksz884x: Call dev_consume_skb_any instead of dev_kfree_skb.Eric W. Biederman
Replace dev_kfree_skb with dev_consume_skb_any in copy_old_skb that can be called in hard irq and other contexts. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24sky2: Call dev_kfree_skb_any instead of dev_kfree_skb.Eric W. Biederman
Replace dev_kfree_skb with dev_kfree_skb_any in sky2_xmit_frame that can be called in hard irq and other contexts. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24skge: Call dev_kfree/consume_skb_any instead of dev_kfree_skb.Eric W. Biederman
Replace dev_kfree_skb with dev_kfree_skb_any skge_xmit_free that can be called in hard irq and other contexts, on the path that handles dropped packets. Replace dev_kfree_skb with dev_consume_skb_any in skge_tx_done that can be called in hard irq and other contexts, on the path that handles successfully transmitted skbs. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24mv643xx_eth: Call dev_kfree_skb_any instead of dev_kfree_skb.Eric W. Biederman
Replace dev_kfree_skb with dev_kfree_skb_any in mv643xx_eth_xmit and txq_submit_skb that can be called in hard irq and other contexts, on paths where the skbs are dropped. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24jme: Call dev_kfree_skb_any instead of dev_kfree_skb.Eric W. Biederman
Replace dev_kfree_skb with dev_kfree_skb_any in jme_expand_header that can be called in hard irq and other contexts, on the failure path where the skb is dropped. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24ibmveth: Call dev_consume_skb_any instead of dev_kfree_skb.Eric W. Biederman
Replace dev_kfree_skb with dev_consume_skb_any in ibmveth_start_xmit that can be called in hard irq and other contexts. In this code path the packet can have either been transmitted or dropped, dev_consume_skb_any was choosen because that preserves the existing semantics of the code, and a transmitted packet is more likely. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24ehea: Call dev_consume_skb_any instead of dev_kfree_skb.Eric W. Biederman
Replace dev_kfree_skb with dev_consume_skb_any in functions that can be called in hard irq and other contexts. None of the locations was a packet drop so dev_kfree_skb_any is inappropriate. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24i825xx: Call dev_kfree_skb_any instead of dev_kfree_skb.Eric W. Biederman
Replace dev_kfree_skb with dev_kfree_skb_any in i596_start_xmit that can be called in hard irq and other contexts, when the skb is dropped. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24ucc_geth: Call dev_consume_skb_any instead of dev_kfree_skb.Eric W. Biederman
Replace dev_kfree_skb with dev_consume_skb_any in ucc_geth_tx that can be called in hard irq and other contexts, when processing the tx completion event. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24fec: Call dev_kfree_skb_any instead of kfree_skb.Eric W. Biederman
Replace kfree_skb with dev_kfree_skb_any in fec_enet_start_xmit that can be called in hard irq and other contexts, when the packet is dropped. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24sundance: Call dev_kfree_skb_any instead of dev_kfree_skb.Eric W. Biederman
Replace dev_kfree_skb with dev_kfree_skb_any in start_tx that can be called in hard irq and other contexts, when the skb is dropped. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24uli526x: Call dev_kfree/consume_skb_any instead of dev_kfree_skb.Eric W. Biederman
Replace dev_kfree_skb with dev_kfree_skb_any in uli562x_start_xmit that can be called in hard irq and other contexts, when the packet is dropped. Replace dev_kfree_skb with dev_consume_skb_any in uli562x_start_xmit that can be called in hard irq and other contexts, when the packet is transmitted. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24dmfe: Call dev_kfree/consume_skb_any instead of dev_kfree_skb.Eric W. Biederman
Replace dev_kfree_skb with dev_kfree_skb_any in dmfe_start_xmit that can be called in hard irq and other contexts, when the packet is dropped. Replace dev_kfree_skb with dev_consume_skb_any in dmfe_start_xmit that can be called in hard irq and other contexts, when the packet is transmitted. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24dm9000: Call dev_consume_skb_any instead of dev_kfree_skb.Eric W. Biederman
Replace dev_kfree_skb with dev_consume_skb_any in dm9000_start_xmit that can be called in hard irq and other contexts, on the path that successfully transmits the packet. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24enic: Call dev_kfree_skb_any instead of dev_kfree_skb.Eric W. Biederman
Replace dev_kfree_skb with dev_kfree_skb_any in enic_hard_start_xmit that can be called in hard irq and other contexts. enic_hard_start_xmit only frees the skb when dropping it. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24cs89x0: Call dev_consume_skb_any instead of dev_kfree_skb.Eric W. Biederman
Replace dev_kfree_skb with dev_consume_skb_any in net_send_packet that can be called in hard irq and other contexts. net_send_packet consumes (not drops) the skb of interest. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24cxfb4vf: Call dev_kfree/consume_skb_any instead of [dev_]kfree_skb.Eric W. Biederman
Replace kfree_skb with dev_consume_skb_any in free_tx_desc that can be called in hard irq and other contexts. dev_consume_skb_any is used as this function consumes successfully transmitted skbs. Replace dev_kfree_skb with dev_kfree_skb_any in t4vf_eth_xmit that can be called in hard irq and other contexts, on paths that drop the skb. Replace dev_kfree_skb with dev_consume_skb_any in t4vf_eth_xmit that can be called in hard irq and other contexts, on paths that successfully transmit the skb. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24cxgb4: Call dev_kfree/consume_skb_any instead of [dev_]kfree_skb.Eric W. Biederman
Replace kfree_skb with dev_consume_skb_any in free_tx_desc that can be called in hard irq and other contexts. dev_consume_skb_any is used as this function consumes successfully transmitted skbs. Replace dev_kfree_skb with dev_kfree_skb_any in t4_eth_xmit that can be called in hard irq and other contexts, on paths that drop the skb. Replace dev_kfree_skb with dev_consume_skb_any in t4_eth_xmit that can be called in hard irq and other contexts, on paths that successfully transmit the skb. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24cxgb3: Call dev_kfree/consume_skb_any instead of [dev_]kfree_skb.Eric W. Biederman
Replace kfree_skb with dev_consume_skb_any in free_tx_desc, and write_tx_pkt_wr that can be called in hard irq and other contexts. Replace dev_kfree_skb with dev_kfree_skb_any in t3_eth_xmit that can be called in hard irq and other contexts. dev_kfree_skb is replaced with dev_kfree_skb_any in t3_eth_xmit as that location is a packet drop, while kfree_skb in free_tx_desc, and in write_tx_pkt_wr are places where packets are consumed in a healthy manner. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24xgmac: Call dev_kfree/consume_skb_any instead of dev_kfree_skb.Eric W. Biederman
Replace dev_kfree_skb with dev_consume_skb_any in xgmac_tx_complete that can be called in hard irq and other contexts. Replace dev_kfree_skb with dev_kfree_skb_any in xgmac_xmit that can be called in hard irq and other contexts. dev_consume_skb_any is used in xgamc_tx_complete as skbs that reach there have been successfully transmitted, dev_kfree_skby_any is used in xgmac_xmit as skbs that are freed there are being dropped. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24macb: Call dev_kfree_skb_any instead of kfree_skb.Eric W. Biederman
Replace kfree_skb with dev_kfree_skb_any in macb_start_xmit that can be called in hard irq and other contexts. macb_start_xmit only frees skbs when dropping them so dev_kfree_skb_any is used. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24bnad: Call dev_kfree_skb_any instead of dev_kfree_skb.Eric W. Biederman
Replace dev_kfree_skb with dev_kfree_skb_any in bnad_start_xmit that can be called in hard irq and other contexts. dev_kfree_skb_any is used as bnad_start_xmit only frees skbs when to drop them, normally transmitted packets are handled elsewhere. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24atl1c: Call dev_kfree/consume_skb_any instead of dev_kfree_skb.Eric W. Biederman
The call path: atl1c_xmit_frame, atlc_tx_rollback, atl1c_clean_buffer can not be tell at compile time if it will be invoked from hard irq or other context, as atl1c_xmit_frame does not know. So remove the logic that passes the compile time knowledge into al1c_clean_buffer and figure out it out at runtime with dev_consume_skb_any. Replace dev_kfree_skb with dev_kfree_skb_any in atl1c_xmit_frame that can be called in hard irq and other contexts. Replace dev_kfree_skb and dev_kfree_skb_irq with dev_consume_skb_any in atl1c_clean_buffer that can be called in hard irq and other contexts. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24alx: Call dev_kfree_skb_any instead of dev_kfree_skb.Eric W. Biederman
Replace dev_kfree_skb with dev_kfree_skb_any in alx_start_xmit that can be called in hard irq and other contexts. dev_kfree_skb_any is used as alx_start_xmit only frees skbs when dropping them. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24pcnet32: Call dev_kfree_skb_any instead of dev_kfree_skb.Eric W. Biederman
Replace dev_kfree_skb with dev_kfree_skb_any in pcnet32_start_xmit that can be called in hard irq and other contexts. dev_kfree_skb_any is used as pcnet32_start_xmit only frees an skb when it drops a packet during transmit. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24lance: Call dev_consume_skb_any instead of dev_kfree_skb.Eric W. Biederman
Replace dev_kfree_skb with dev_consume_skb_any in lance_start_xmit that can be called in hard irq and other contexts. dev_consume_skb_any is used as lance_start_xmit always immediately consumes the skb. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24am79c961a: Call dev_consume_skb_any instead of dev_kfree_skb.Eric W. Biederman
Replace dev_kfree_skb with dev_consume_skb_any in am79c961 that can be called in hard irq and other contexts. dev_consume_skb_any is used as am79c961_sendpacket always immediately consumes the skb. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24sun4i-emac: Call dev_consume_skb_any instead of dev_kfree_skb.Eric W. Biederman
Replace dev_kfree_skb with dev_consume_skb_any in emacs_start_xmit which can be called in hard irq and other contexts. emac_start_xmit always transmits the packet making dev_consume_skb the appropriate function to call. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24bfin_mac: Call dev_consume_skb_any instead of dev_kfree_skb.Eric W. Biederman
Replace dev_kfree_skb with dev_consume_skb_any in _tx_reclaim_skb that can be called in hard irq and other contexts. dev_consume_skb is used as _tx_reclaim_skb is called after a packet has been successfully transmitted. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-248390: Call dev_consume_skb_any instead of dev_kfree_skb.Eric W. Biederman
Replace dev_kfree_skb with dev_consume_skb_any in __ei_start_xmit that can be called in hard irq and other contexts. dev_consume_skb is used as in this simple driver the skb is always immediately consumed, there are no drops. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-243c59x: Call dev_consume_skb_any instead of dev_kfree_skb.Eric W. Biederman
Replace dev_kfree_skb with dev_consume_skb_any in vortex_start_xmit as it can be called in hard irq and other contexts. dev_consume_skb_any is used when vortext_start_xmit directly consumes the packet instead of dmaing it to the device. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-243c509: Call dev_consume_skb_any instead of dev_kfree_skb.Eric W. Biederman
Replace dev_kfree_skb with dev_consume_skb_any in el3_start_xmit as it can be called in hard irq and other contexts. dev_consume_skb_any is used as on this simple hardware the skb is consumed directly by the start_xmit function. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24uml/net_kern: Call dev_consume_skb_any instead of dev_kfree_skb.Eric W. Biederman
Replace dev_kfree_skb with dev_consume_skb_any in uml_net_start_xmit as it can be called in hard irq and other contexts. dev_consume_skb_any is used as uml_net_start_xmit typically consumes (not drops) packets. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2014-03-24Merge git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-nextDavid S. Miller
Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates This series contains updates to igb, ixgbe, ixgbevf, i40e and i40evf. Anjali provides a i40e/i40evf patch to add Energy Efficient Ethernet Low Power Idle stats and a fix for i40e to change the string "Side Band" to "Sideband" for consistency. Mitch provides 2 patches for i40evf to fix if the driver encounters an error while communicating with the PF driver, do not shut down the admin queue unconditionally. Add an error message when the admin queue message never completes and fix formatting on another message that was unnecessarily wrapped. Mark provides a ixgbe patch and five ixgbevf patches. Fix a possible infinite recursion when an adapter is removed and registers all read as all one's in ixgbe_clear_vmdq_generic() and ixgbe_clear_rar_generic(). Converts macros to static inline functions to align kernel coding standard and prepare for adding Live Error Recovery (LER) to ixgbevf. Change the ethtool register test to use the normal register accessor functions and eliminate macors used for calling register test functions to make error exits more clear. Checks all register reads for adapter removal by checking the status register after any register read that returns all F's since the status register will never return 0xFFFFFFFF unless the adapter is removed. Jacob implements SIOCGHWTSTAMP ioctl for igb which enables user processes to read the current hardware stamp config settings non-destructively. Todd adds the initial register read and write for surprise removal (LER) for igb. Christian Engelmayer fixes an igb memory leak in the igb_get_module_eeprom() error handling path. Ken Ichikawa provides a fix for igb, specifically for 82575 hardware to specify -1 to the phc_index for ethtool's get_ts_info, otherwise a wrong value will be set to the phc_index. Christopher Paasch fixes a null pointer dereference in igb and makes sure to unset the HAS_MSIX flag when the driver falls back to MSI only. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2014-03-24ipv4: remove ip_rt_dump from route.cLi RongQing
ip_rt_dump do nothing after IPv4 route caches removal, so we can remove it. Signed-off-by: Li RongQing <roy.qing.li@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-03-24atheros/atlx: use SET_ETHTOOL_OPS directlywangweidong
As commit a6e28b34205b("staging/et131x: use SET_ETHTOOL_OPS directly"), using a wrapper around SET_ETHTOOL_OPS macro is not actually required, remove and use SET_ETHTOOL_OPS directly. Signed-off-by: Wang Weidong <wangweidong1@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-03-24Altera TSE: Correct two typos in original submissionVince Bridgers
This patch addresses two typos in the original driver submission. One derived from a cut & paste error, and another is a misspelling. Signed-off-by: Vince Bridgers <vbridgers2013@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-03-24Altera TSE: Correct typecast issue detected by kbuild test robotVince Bridgers
This patch addresses a portable pointer arithmetic issue in the original submission found by the kbuild test robot. config: make ARCH=i386 allyesconfig altera_sgdma.c: In function 'sgdma_txphysaddr': >> altera_sgdma.c:393:33: warning: cast from >> pointer to integer of different size [-Wpointer-to-int-cast] dma_addr_t offs = (dma_addr_t)((dma_addr_t)desc - ^ >> altera_sgdma.c:394:5: warning: cast from >> pointer to integer of different size [-Wpointer-to-int-cast] (dma_addr_t)priv->tx_dma_desc); ^ altera_sgdma.c: In function 'sgdma_rxphysaddr': >> altera_sgdma.c:403:33: warning: cast from >> pointer to integer of different size [-Wpointer-to-int-cast] dma_addr_t offs = (dma_addr_t)((dma_addr_t)desc - ^ >> altera_sgdma.c:404:5: warning: cast from >> pointer to integer of different size [-Wpointer-to-int-cast] (dma_addr_t)priv->rx_dma_desc); ^ Reported-by: kbuild test robot <fengguang.wu@intel.com> Signed-off-by: Vince Bridgers <vbridgers2013@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-03-24Altera TSE: Set version number by driver's get regsVince Bridgers
Set the version number returned by the driver's get regs routine invoked by ethtool so formatting can be dependent on the version number returned, and any interesting formatted output can check the version number for specific types of register data returned. Signed-off-by: Vince Bridgers <vbridgers2013@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-03-24Merge branch 'qlcnic-next'David S. Miller
Shahed Shaikh says: ==================== This patch series containes following changes - * TSO over IPv4 and IPv6, Tx checksum offload for VXLAN * Rx checksum offload for VXLAN and support for .ndo_{add|del}_vxlan_port netdev ops. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2014-03-24qlcnic: Update version to 5.3.57Shahed Shaikh
Signed-off-by: Shahed Shaikh <shahed.shaikh@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-03-24qlcnic: Add VXLAN Rx offload supportShahed Shaikh
This patch adds Rx checksum offload support for VXLAN. Implements .ndo_{add|del}_vxlan_port netdev ops. Adapter supports only one VXLAN port, so program adapter with very first UDP port which VXLAN driver is listening to. Signed-off-by: Shahed Shaikh <shahed.shaikh@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-03-24qlcnic: Add VXLAN Tx offload supportShahed Shaikh
This patch adds LSO, LSO6 and Tx checksum offload support for VXLAN encapsulated packets on 83xx/84xx series adapters. Signed-off-by: Shahed Shaikh <shahed.shaikh@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-03-24gianfar: Fix P1010 config regression (SQ polling)Claudiu Manoil
The P1010 device tree restricts the number of supported interrupt groups to 1, although the eth controller can support 2 interrupt groups and the driver assumes the Multi-Group mode ("fsl,etsec2" model). So, in this case the assumption that the Multi-Group mode (MQ_MG_MODE) devices always support 2 interrupt groups is false. To fix this, a check for the actual number of interrupt groups enabled in the board's device tree has been added in gfar_probe for the "fsl,etsec2" devices. Without this fix, P1010 based boards claim support for 2 Tx queues to the net stack but only one is actually allocated, leading to NULL access in xmit. This issue was introduced by enabling Single-Queue polling for the P1010 devices. (71ff9e3 gianfar: Use Single-Queue polling for "fsl,etsec2") Fixes: 71ff9e3df7e1c5d3293af6b595309124e8c97412 Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-03-24ipv4: remove ipv4_ifdown_dst from route.cLi RongQing
ipv4_ifdown_dst does nothing after IPv4 route caches removal, so we can remove it. Signed-off-by: Li RongQing <roy.qing.li@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-03-24net: optimize csum_replace2()Eric Dumazet
When changing one 16bit value by another in IP header, we can adjust the IP checksum by doing a simple operation described in RFC 1624, as reminded by David. csum_partial() is a complex function on x86_64, not really suited for small number of checksummed bytes. I spotted csum_partial() being in the top 20 most consuming functions (more than 1 %) in a GRO workload, which was rather unexpected. The caller was inet_gro_complete() doing a csum_replace2() when building the new IP header for the GRO packet. Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-03-22Merge tag 'batman-adv-for-davem' of git://git.open-mesh.org/linux-mergeDavid S. Miller
Antonio Quartulli says: ==================== Included changes: - use ether_addr_copy instead of memcpy when possible - implement new multicast packet optimisation - improve several kerneldoc sections - minor code cleanups here you have our patchset for net-next/linux-3.15. They are 16 patches but most of them are just small cleanups and kerneldoc improvements. The only big change is the one from patch 8 to 13 by Linus Lüssing that introduces a new multicast packets optimisation. This new component aims to reduce the air overhead by sending multicast packets as bat-unicast when only one destination exists or by dropping them directly at the source if the multicast group is totally empty. In patch 11 Linus introduces an atomic_t variable, that like others that we already have is only object of write and read, thus making the atomic characteristic totally useless. Unfortunately this is part of our sysfs framework, that helps the developer to introduce new knobs by using few macros only. For this reason we decided to keep Linus' new knob for now, but I'd like to let you know that we are in the process of re-working such framework in order to convert all the current (useless) atomic_t to boolean in one go. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>