linux/drivers/net/ethernet
Robert Hancock bb193e3db8 net: axienet: fix for TX busy handling
Network driver documentation indicates we should be avoiding returning
NETDEV_TX_BUSY from ndo_start_xmit in normal cases, since it requires
the packets to be requeued. Instead the queue should be stopped after
a packet is added to the TX ring when there may not be enough room for an
additional one. Also, when TX ring entries are completed, we should only
wake the queue if we know there is room for another full maximally
fragmented packet.

Print a warning if there is insufficient space at the start of start_xmit,
since this should no longer happen.

Combined with increasing the default TX ring size (in a subsequent
patch), this appears to recover the TX performance lost by previous changes
to actually manage the TX ring state properly.

Fixes: 8a3b7a252d ("drivers/net/ethernet/xilinx: added Xilinx AXI Ethernet driver")
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-01-19 11:29:14 +00:00
..
3com
8390
actions
adaptec
aeroflex
agere et131x: Remove useless DMA-32 fallback configuration 2022-01-09 16:52:19 -08:00
alacritech
allwinner net: ethernet: sun4i-emac: Fix an error handling path in emac_probe() 2022-01-15 22:34:52 +00:00
alteon net: alteon: Simplify DMA setting 2022-01-09 16:52:18 -08:00
altera
amazon net: ena: Extract recurring driver reset code into a function 2022-01-07 19:25:52 -08:00
amd net: amd-xgbe: Disable the CDR workaround path for Yellow Carp Devices 2021-12-20 18:42:40 -08:00
apm
apple net: apple: bmac: Fix build since dev_addr constification 2022-01-14 11:22:57 +00:00
aquantia Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-12-30 12:12:12 -08:00
arc
asix
atheros Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-12-30 12:12:12 -08:00
broadcom bcmgenet: add WOL IRQ check 2022-01-14 11:20:06 +00:00
brocade bna: Simplify DMA setting 2022-01-09 16:52:18 -08:00
cadence net: macb: use .mac_select_pcs() interface 2022-01-06 12:31:49 +00:00
calxeda
cavium Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2021-12-31 14:35:40 +00:00
chelsio libcxgb: Don't accidentally set RTO_ONLINK in cxgb_find_route() 2022-01-11 20:36:08 -08:00
cirrus
cisco enic: Remove usage of the deprecated "pci-dma-compat.h" API 2022-01-02 16:14:30 +00:00
cortina net: gemini: allow any RGMII interface mode 2022-01-05 10:31:22 -08:00
davicom
dec
dlink
emulex be2net: Remove useless DMA-32 fallback configuration 2022-01-09 16:52:19 -08:00
engleder tsnep: Fix s390 devm_ioremap_resource warning 2021-12-17 19:22:57 -08:00
ezchip
faraday
freescale Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-01-09 17:00:17 -08:00
fujitsu
google gve: Correct order of processing device options 2021-12-20 18:47:56 -08:00
hisilicon net: hns3: create new common cmd code for PF and VF modules 2022-01-05 14:36:37 +00:00
huawei hinic: Remove useless DMA-32 fallback configuration 2022-01-09 16:52:21 -08:00
i825xx lib82596: Fix IRQ check in sni_82596_probe 2022-01-14 11:24:03 +00:00
ibm ethernet: ibmveth: use default_groups in kobj_type 2022-01-06 13:46:23 +00:00
intel iavf: remove an unneeded variable 2022-01-07 09:04:21 -08:00
litex
marvell net: marvell: prestera: Fix deinit sequence for router 2022-01-12 10:17:11 -08:00
mediatek net: ethernet: mtk_eth_soc: fix error checking in mtk_mac_config() 2022-01-15 22:33:17 +00:00
mellanox mlx5: Don't accidentally set RTO_ONLINK before mlx5e_route_lookup_ipv4_get() 2022-01-11 20:36:09 -08:00
micrel Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-12-23 16:09:58 -08:00
microchip lan743x: Remove useless DMA-32 fallback configuration 2022-01-09 16:52:21 -08:00
microsoft Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2021-12-31 14:35:40 +00:00
moxa
mscc net: ocelot: Fix the call to switchdev_bridge_port_offload 2022-01-17 13:04:25 +00:00
myricom myri10ge: Simplify DMA setting 2022-01-09 16:52:18 -08:00
natsemi
neterion net: vxge: Use dma_set_mask_and_coherent() and simplify code 2022-01-03 10:42:58 +00:00
netronome Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2021-12-31 14:35:40 +00:00
ni
nvidia
nxp
oki-semi
packetengines
pasemi
pensando Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-12-30 12:12:12 -08:00
qlogic net/qla3xxx: Remove useless DMA-32 fallback configuration 2022-01-09 16:52:21 -08:00
qualcomm
rdc
realtek Power management updates for 5.17-rc1 2022-01-10 20:34:00 -08:00
renesas
rocker Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-01-09 17:00:17 -08:00
samsung
seeq
sfc sfc: Use swap() instead of open coding it 2022-01-06 12:39:36 +00:00
sgi
silan
sis
smsc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-12-23 16:09:58 -08:00
socionext Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2021-12-31 14:35:40 +00:00
stmicro net: stmmac: Fix "Unbalanced pm_runtime_enable!" warning 2022-01-14 11:27:34 +00:00
sun sun/cassini: Use dma_set_mask_and_coherent() and simplify code 2022-01-02 16:14:30 +00:00
synopsys
tehuti tehuti: Use dma_set_mask_and_coherent() and simplify code 2022-01-02 12:21:16 +00:00
ti Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2021-12-31 14:35:40 +00:00
toshiba
tundra
vertexcom Revert "net: vertexcom: default to disabled on kbuild" 2022-01-10 21:11:07 -08:00
via
wiznet
xilinx net: axienet: fix for TX busy handling 2022-01-19 11:29:14 +00:00
xircom
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c net: ethoc: Use platform_get_irq() to get the interrupt 2021-12-27 12:22:19 +00:00
fealnx.c
jme.c
jme.h
Kconfig
korina.c
lantiq_etop.c net: lantiq_etop: remove unnecessary space in cast 2021-12-30 13:20:23 +00:00
lantiq_xrx200.c net: lantiq_xrx200: convert to build_skb 2022-01-05 17:18:04 -08:00
Makefile