linux-hardened/drivers/net/ethernet
Claudiu Manoil 50ad076ba4 gianfar: Fix reported number of sent bytes to BQL
Fix the amount of sent bytes reported to BQL by reporting the
number of bytes on wire in the xmit routine, and recording that
value for each skb in order to be correctly confirmed on Tx
confirmation cleanup.

Reporting skb->len to BQL just before exiting xmit is not correct
due to possible insertions of TOE block and alignment bytes in the
skb->data, which are being stripped off by the controller before
transmission on wire.  This led to mismatch of (incorrectly)
reported bytes to BQL b/w xmit and Tx confirmation, resulting in
Tx timeout firing, for the h/w tx timestamping acceleration case.

There's no easy way to obtain the number of bytes on wire in the Tx
confirmation routine, so skb->cb is used to convey that information
from xmit to Tx confirmation, for now (as proposed by Eric). Revived
the currently unused GFAR_CB() construct for that purpose.

Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com>

Cc: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-09-03 22:14:28 -04:00
..
3com net: Move MII out from under NET_CORE and hide it 2013-06-19 22:22:56 -07:00
8390 net: ax88796: use dev_get_platdata() 2013-08-30 17:43:34 -04:00
adaptec net: Move MII out from under NET_CORE and hide it 2013-06-19 22:22:56 -07:00
adi net: bfin_mac: use dev_get_platdata() 2013-08-30 17:43:35 -04:00
aeroflex drivers:net: Convert dma_alloc_coherent(...__GFP_ZERO) to dma_zalloc_coherent 2013-08-29 21:55:23 -04:00
allwinner drivers: net: sun4i-emac: select MDIO_SUN4I 2013-07-26 13:57:58 -07:00
alteon net/ethernet/alteon/acenic: Use module_pci_driver to register driver 2013-05-22 14:35:04 -07:00
amd net: au1000_eth: use dev_get_platdata() 2013-08-30 17:43:35 -04:00
apple net: Restore unintentional reverts. 2013-06-24 12:43:40 -07:00
arc ethernet/arc/arc_emac - fix NAPI "work > weight" warning 2013-08-13 17:00:45 -07:00
atheros atl1c: Fix misuse of netdev_alloc_skb in refilling rx ring 2013-07-30 18:12:07 -07:00
broadcom net: bcm63xx_enet: use dev_get_platdata() 2013-08-30 17:43:35 -04:00
brocade bna: firmware update to 3.2.1.1 2013-08-27 16:03:15 -04:00
cadence net: macb: use dev_get_platdata() 2013-08-30 17:43:39 -04:00
calxeda net: ethernet: remove unnecessary platform_set_drvdata() 2013-05-27 22:34:51 -07:00
chelsio Revert "cxgb3: Check and handle the dma mapping errors" 2013-08-15 01:23:32 -07:00
cirrus net: ep93xx_eth: use dev_get_platdata() 2013-08-30 17:43:35 -04:00
cisco drivers/net: enic: Generate notification of hardware crash 2013-08-20 13:41:01 -07:00
davicom net: dm9000: use dev_get_platdata() 2013-08-30 17:43:35 -04:00
dec ethernet: Convert mac address uses of 6 to ETH_ALEN 2013-08-02 12:33:54 -07:00
dlink sundance: Add netpoll support 2013-08-20 15:05:03 -07:00
emulex drivers:net: Convert dma_alloc_coherent(...__GFP_ZERO) to dma_zalloc_coherent 2013-08-29 21:55:23 -04:00
faraday drivers:net: Convert dma_alloc_coherent(...__GFP_ZERO) to dma_zalloc_coherent 2013-08-29 21:55:23 -04:00
freescale gianfar: Fix reported number of sent bytes to BQL 2013-09-03 22:14:28 -04:00
fujitsu
hp
i825xx ethernet: Convert mac address uses of 6 to ETH_ALEN 2013-08-02 12:33:54 -07:00
ibm drivers:net: Convert dma_alloc_coherent(...__GFP_ZERO) to dma_zalloc_coherent 2013-08-29 21:55:23 -04:00
icplus net: Move MII out from under NET_CORE and hide it 2013-06-19 22:22:56 -07:00
intel drivers:net: Convert dma_alloc_coherent(...__GFP_ZERO) to dma_zalloc_coherent 2013-08-29 21:55:23 -04:00
marvell net: pxa168_eth: use dev_get_platdata() 2013-08-30 17:43:36 -04:00
mellanox net/mlx4_en: Reduce scope of local variables in mlx4_en_xmit 2013-08-21 12:19:26 -07:00
micrel net: ks8851-ml: use dev_get_platdata() 2013-08-30 17:43:36 -04:00
microchip
moxa ethernet: moxa: remove unnecessary platform_set_drvdata() 2013-08-22 15:12:21 -07:00
myricom drivers:net: Convert dma_alloc_coherent(...__GFP_ZERO) to dma_zalloc_coherent 2013-08-29 21:55:23 -04:00
natsemi
neterion treewide: Fix typo in printk 2013-06-18 13:48:45 +02:00
nuvoton ethernet: Convert mac address uses of 6 to ETH_ALEN 2013-08-02 12:33:54 -07:00
nvidia net/ethernet/nvidia/forcedeth: Use module_pci_driver to register driver 2013-05-22 14:35:05 -07:00
nxp net: ethernet: remove unnecessary platform_set_drvdata() 2013-05-27 22:34:51 -07:00
octeon Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2013-07-13 14:52:21 -07:00
oki-semi drivers:net: Convert dma_alloc_coherent(...__GFP_ZERO) to dma_zalloc_coherent 2013-08-29 21:55:23 -04:00
packetengines net: Move MII out from under NET_CORE and hide it 2013-06-19 22:22:56 -07:00
pasemi drivers:net: Convert dma_alloc_coherent(...__GFP_ZERO) to dma_zalloc_coherent 2013-08-29 21:55:23 -04:00
qlogic qlcnic: Update version to 5.3.50 2013-08-31 22:34:44 -04:00
rdc net: Move MII out from under NET_CORE and hide it 2013-06-19 22:22:56 -07:00
realtek Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-08-26 16:37:08 -04:00
renesas sh_eth: Enable Rx descriptor word 0 shift for r8a7790 2013-09-03 22:02:33 -04:00
seeq net: seeq: use dev_get_platdata() 2013-08-30 17:43:37 -04:00
sfc Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/bwh/sfc-next 2013-08-31 22:24:24 -04:00
sgi drivers:net: Convert dma_alloc_coherent(...__GFP_ZERO) to dma_zalloc_coherent 2013-08-29 21:55:23 -04:00
silan net/ethernet/silan/sc92031: Use module_pci_driver to register driver 2013-05-22 14:35:03 -07:00
sis r8169,sis190: remove unnecessary length check 2013-08-20 14:57:42 -07:00
smsc net: smsc911x: use dev_get_platdata() 2013-08-30 17:43:37 -04:00
stmicro net: stmmac: use dev_get_platdata() 2013-08-30 17:43:39 -04:00
sun net: niu: use dev_get_platdata() 2013-08-30 17:43:37 -04:00
tehuti
ti net: davinci_mdio: use dev_get_platdata() 2013-08-30 17:43:38 -04:00
tile tile: fix missing unlock on error in tile_net_open() 2013-08-05 11:09:42 -07:00
toshiba net/ethernet/toshiba/tc35815: Use module_pci_driver to register driver 2013-05-22 14:35:04 -07:00
tundra net: tsi108: use dev_get_platdata() 2013-08-30 17:43:38 -04:00
via Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-08-16 15:37:26 -07:00
wiznet net: w5100: use dev_get_platdata() 2013-08-30 17:43:38 -04:00
xilinx drivers:net: Convert dma_alloc_coherent(...__GFP_ZERO) to dma_zalloc_coherent 2013-08-29 21:55:23 -04:00
xircom
xscale net: ixp4xx_eth: use dev_get_platdata() 2013-08-30 17:43:39 -04:00
dnet.c
dnet.h
ethoc.c net: ethoc: use dev_get_platdata() 2013-08-30 17:43:35 -04:00
fealnx.c
jme.c net, jme: remove redundant D0 power state set 2013-05-31 01:39:08 -07:00
jme.h
Kconfig net: Add MOXA ART SoCs ethernet driver 2013-08-11 21:38:12 -07:00
korina.c net: Restore unintentional reverts. 2013-06-24 12:43:40 -07:00
lantiq_etop.c
Makefile net: Add MOXA ART SoCs ethernet driver 2013-08-11 21:38:12 -07:00
netx-eth.c net: netx-eth: use dev_get_platdata() 2013-08-30 17:43:36 -04:00
s6gmac.c net: ethernet: remove unnecessary platform_set_drvdata() 2013-05-27 22:34:51 -07:00