linux_dsm_epyc7002/drivers/net/ethernet/stmicro/stmmac
Niklas Cassel 05cf0d1bf4 net: stmmac: free an skb first when there are no longer any descriptors using it
When having the skb pointer in the first descriptor, stmmac_tx_clean
can get called at a moment where the IP has only cleared the own bit
of the first descriptor, thus freeing the skb, even though there can
be several descriptors whose buffers point into the same skb.

By simply moving the skb pointer from the first descriptor to the last
descriptor, a skb will get freed only when the IP has cleared the
own bit of all the descriptors that are using that skb.

Signed-off-by: Niklas Cassel <niklas.cassel@axis.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-06-20 15:41:00 -04:00
..
altr_tse_pcs.c net: ethernet: stmmac: Fix altr_tse_pcs SGMII Initialization 2017-06-02 14:20:11 -04:00
altr_tse_pcs.h net: ethernet: Add TSE PCS support to dwmac-socfpga 2016-07-10 22:07:50 -07:00
chain_mode.c net: stmmac: set total length of the packet to be transmitted in TDES3 2017-04-13 12:40:09 -04:00
common.h net: stmmac: set total length of the packet to be transmitted in TDES3 2017-04-13 12:40:09 -04:00
descs_com.h net: stmmac: remove freesoftware address 2017-02-08 15:11:23 -05:00
descs.h net: stmmac: remove freesoftware address 2017-02-08 15:11:23 -05:00
dwmac4_core.c net: stmmac: add set_mac to the stmmac_ops 2017-03-24 12:36:42 -07:00
dwmac4_descs.c stmmac: fix for hw timestamp of GMAC3 unit 2017-06-09 12:39:26 -04:00
dwmac4_descs.h stmmac: fix PTP support for GMAC4 2016-11-15 19:56:17 -05:00
dwmac4_dma.c net: stmmac: dma channel init prepared for multiple queues 2017-03-15 14:44:32 -07:00
dwmac4_dma.h net: stmmac: rx and tx ring length prepared for multiple queues 2017-03-15 14:44:32 -07:00
dwmac4_lib.c net: stmmac: prepare rx/tx set tail function for multiple queues 2017-03-15 14:44:32 -07:00
dwmac4.h net: stmmac: RX queue routing configuration 2017-03-21 17:24:01 -07:00
dwmac100_core.c net: stmmac: add set_mac to the stmmac_ops 2017-03-24 12:36:42 -07:00
dwmac100_dma.c net: stmmac: unify registers dumps methods 2017-02-24 11:42:33 -05:00
dwmac100.h net: stmmac: remove freesoftware address 2017-02-08 15:11:23 -05:00
dwmac1000_core.c net: stmmac: add set_mac to the stmmac_ops 2017-03-24 12:36:42 -07:00
dwmac1000_dma.c net: stmmac: rx watchdog config prepared for multiple queues 2017-03-15 14:44:32 -07:00
dwmac1000.h net: stmmac: remove freesoftware address 2017-02-08 15:11:23 -05:00
dwmac_dma.h net: stmmac: prepare dma interrupt treatment for multiple queues 2017-03-15 14:44:32 -07:00
dwmac_lib.c net: stmmac: prepare dma interrupt treatment for multiple queues 2017-03-15 14:44:32 -07:00
dwmac-dwc-qos-eth.c net: stmmac: dwc-qos: Add Tegra186 support 2017-03-12 23:35:21 -07:00
dwmac-generic.c net: stmmac: dwmac-generic: add missing compatible strings 2016-12-08 11:35:37 -05:00
dwmac-ipq806x.c net: ethernet: stmmac: fix of-node and fixed-link-phydev leaks 2016-12-02 10:42:47 -05:00
dwmac-lpc18xx.c net: ethernet: stmmac: fix of-node and fixed-link-phydev leaks 2016-12-02 10:42:47 -05:00
dwmac-meson8b.c net: stmmac: don't set tx delay in RGMII_ID and RGMII_TXID mode 2017-02-02 21:59:51 -05:00
dwmac-meson.c net: ethernet: stmmac: fix of-node and fixed-link-phydev leaks 2016-12-02 10:42:47 -05:00
dwmac-oxnas.c net: stmmac: dwmac-oxnas: use generic pm implementation 2017-01-03 09:33:00 -05:00
dwmac-rk.c net: stmmac: dwmac-rk: Add handling for RGMII_ID/RXID/TXID 2017-03-30 10:52:41 -07:00
dwmac-socfpga.c stmmac: move stmmac_clk, pclk, clk_ptp_ref and stmmac_rst to platform structure 2017-01-09 14:54:29 -05:00
dwmac-sti.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-03 12:29:53 -05:00
dwmac-stm32.c net: ethernet: stmmac: fix of-node and fixed-link-phydev leaks 2016-12-02 10:42:47 -05:00
dwmac-sunxi.c net: ethernet: stmmac: fix of-node and fixed-link-phydev leaks 2016-12-02 10:42:47 -05:00
enh_desc.c net: stmmac: set total length of the packet to be transmitted in TDES3 2017-04-13 12:40:09 -04:00
Kconfig stmicro: add more information to Kconfig 2017-01-18 12:12:04 -05:00
Makefile stmmac: adding new glue driver dwmac-dwc-qos-eth 2017-01-09 14:54:30 -05:00
mmc_core.c net: stmmac: remove freesoftware address 2017-02-08 15:11:23 -05:00
mmc.h net: stmmac: remove freesoftware address 2017-02-08 15:11:23 -05:00
norm_desc.c net: stmmac: set total length of the packet to be transmitted in TDES3 2017-04-13 12:40:09 -04:00
ring_mode.c net: stmmac: set total length of the packet to be transmitted in TDES3 2017-04-13 12:40:09 -04:00
stmmac_ethtool.c net: stmmac: rx watchdog config prepared for multiple queues 2017-03-15 14:44:32 -07:00
stmmac_hwtstamp.c net: stmmac: remove freesoftware address 2017-02-08 15:11:23 -05:00
stmmac_main.c net: stmmac: free an skb first when there are no longer any descriptors using it 2017-06-20 15:41:00 -04:00
stmmac_mdio.c net: stmmac: reduce indentation by adding a continue 2017-02-15 13:20:55 -05:00
stmmac_pci.c stmmac: pci: split out common_default_data() helper 2017-05-08 15:15:02 -04:00
stmmac_pcs.h drivers: net: stmmac: reworking the PCS code. 2016-06-28 08:54:23 -04:00
stmmac_platform.c net: stmmac: Restore DT backwards-compatibility 2017-03-22 12:15:15 -07:00
stmmac_platform.h net: ethernet: stmmac: fix of-node and fixed-link-phydev leaks 2016-12-02 10:42:47 -05:00
stmmac_ptp.c net: stmmac: remove freesoftware address 2017-02-08 15:11:23 -05:00
stmmac_ptp.h stmmac: fix ptp header for GMAC3 hw timestamp 2017-06-09 12:39:25 -04:00
stmmac.h net: stmmac: adding multiple napi mechanism 2017-04-07 07:18:27 -07:00