linux-uconsole/drivers/net/ethernet
Finn Thain 90042a5398 net/sonic: Prevent tx watchdog timeout
commit 686f85d71d upstream.

Section 5.5.3.2 of the datasheet says,

    If FIFO Underrun, Byte Count Mismatch, Excessive Collision, or
    Excessive Deferral (if enabled) errors occur, transmission ceases.

In this situation, the chip asserts a TXER interrupt rather than TXDN.
But the handler for the TXDN is the only way that the transmit queue
gets restarted. Hence, an aborted transmission can result in a watchdog
timeout.

This problem can be reproduced on congested link, as that can result in
excessive transmitter collisions. Another way to reproduce this is with
a FIFO Underrun, which may be caused by DMA latency.

In event of a TXER interrupt, prevent a watchdog timeout by restarting
transmission.

Fixes: 1da177e4c3 ("Linux-2.6.12-rc2")
Tested-by: Stan Johnson <userm57@yahoo.com>
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-01-29 16:43:23 +01:00
..
3com
8390 net: phy: rename Asix Electronics PHY driver 2019-07-14 08:11:08 +02:00
adaptec
aeroflex
agere
alacritech
allwinner
alteon
altera net: altera_tse: fix msgdma_tx_completion on non-zero fill_level case 2019-03-13 14:02:29 -07:00
amazon net: ena: fix ena_com_fill_hash_function() implementation 2020-01-27 14:50:45 +01:00
amd net: amd: fix return type of ndo_start_xmit function 2019-11-20 18:47:03 +01:00
apm drivers: net: xgene: Remove unnecessary forward declarations 2019-01-13 09:51:00 +01:00
apple
aquantia net: aquantia: Fix aq_vec_isr_legacy() return value 2020-01-27 14:51:14 +01:00
arc net: ethernet: arc: add the missed clk_disable_unprepare 2019-11-12 19:21:17 +01:00
atheros atl1e: checking the status of atl1e_write_phy_reg 2019-12-05 09:20:54 +01:00
aurora
broadcom net: bcmgenet: Use netif_tx_napi_add() for TX NAPI 2020-01-29 16:43:15 +01:00
brocade
cadence net: macb driver, check for SKBTX_HW_TSTAMP 2019-12-05 09:21:32 +01:00
calxeda
cavium net: thunderx: start phy before starting autonegotiation 2019-12-21 10:57:13 +01:00
chelsio net: cxgb3_main: Add CAP_NET_ADMIN check to CHELSIO_GET_MEM 2020-01-29 16:43:15 +01:00
cirrus net: ep93xx_eth: fix mismatch of request_mem_region in remove 2019-12-13 08:51:06 +01:00
cisco enic: fix build warning without CONFIG_CPUMASK_OFFSTACK 2019-04-05 22:32:57 +02:00
cortina net: gemini: Fix memory leak in gmac_setup_txqs 2019-12-31 16:34:37 +01:00
davicom
dec net: tulip: de4x5: Drop redundant MODULE_DEVICE_TABLE() 2019-06-22 08:15:17 +02:00
dlink
emulex be2net: Signal that the device cannot transmit during reconfiguration 2019-08-06 19:06:51 +02:00
ezchip
faraday net: faraday: fix return type of ndo_start_xmit function 2019-11-20 18:47:39 +01:00
freescale dpaa_eth: avoid timestamp read on error paths 2020-01-27 14:51:21 +01:00
fujitsu
hisilicon net: hisilicon: Fix signedness bug in hix5hd2_dev_probe() 2020-01-27 14:51:14 +01:00
hp
huawei net-next/hinic: fix a bug in rx data flow 2019-12-13 08:51:30 +01:00
i825xx net: i82596: fix dma_alloc_attr for sni_82596 2019-10-29 09:19:41 +01:00
ibm ehea: Fix a copy-paste err in ehea_init_port_res 2020-01-27 14:50:37 +01:00
intel ixgbe: sync the first fragment unconditionally 2020-01-27 14:51:12 +01:00
marvell net: marvell: mvpp2: phylink requires the link interrupt 2020-01-04 19:13:40 +01:00
mediatek net: ethernet: mediatek: Use NET_IP_ALIGN to judge if HW RX_2BYTE_OFFSET is enabled 2019-06-25 11:35:57 +08:00
mellanox net/mlx5e: IPoIB, Fix RX checksum statistics update 2020-01-27 14:50:31 +01:00
micrel net: micrel: fix return type of ndo_start_xmit function 2019-11-20 18:47:14 +01:00
microchip lan743x: Fix TX Stall Issue 2019-03-19 13:12:38 +01:00
moxa
mscc net: mscc: ocelot: fix __ocelot_rmw_ix prototype 2019-12-05 09:19:45 +01:00
myricom net: myri10ge: fix memory leaks 2019-09-10 10:33:46 +01:00
natsemi net/sonic: Prevent tx watchdog timeout 2020-01-29 16:43:23 +01:00
neterion vxge: fix return of a free'd memblock on a failed dma mapping 2019-05-16 19:41:21 +02:00
netronome nfp: bpf: fix static check error through tightening shift amount adjustment 2020-01-27 14:50:48 +01:00
ni net: nixge: Fix a signedness bug in nixge_probe() 2020-01-27 14:51:15 +01:00
nuvoton w90p910_ether: remove incorrect __init annotation 2019-01-13 09:51:00 +01:00
nvidia
nxp net: lpc-enet: fix printk format strings 2019-10-05 13:09:43 +02:00
oki-semi
packetengines
pasemi net: pasemi: fix an use-after-free in pasemi_mac_phy_init() 2020-01-27 14:51:01 +01:00
qlogic qed: reduce maximum stack frame size 2020-01-27 14:51:02 +01:00
qualcomm net: qca_spi: Move reset_count to struct qcaspi 2020-01-27 14:51:20 +01:00
rdc
realtek r8169: fix wrong PHY ID issue with RTL8168dp 2019-11-10 11:27:51 +01:00
renesas net: sh_eth: fix a missing check of of_get_phy_mode 2020-01-27 14:50:32 +01:00
rocker
samsung
seeq net: seeq: Fix the function used to release some memory in an error handling path 2019-09-21 07:17:10 +02:00
sfc sfc: initialise found bitmap in efx_ef10_mtd_probe 2019-12-05 09:21:09 +01:00
sgi
silan
sis sis900: fix TX completion 2019-07-21 09:03:07 +02:00
smsc net: smsc: fix return type of ndo_start_xmit function 2019-11-20 18:47:39 +01:00
socionext net: socionext: Fix a signedness bug in ave_probe() 2020-01-27 14:51:15 +01:00
stmicro net: stmmac: fix disabling flexible PPS output 2020-01-27 14:51:17 +01:00
sun net: sun: fix return type of ndo_start_xmit function 2019-11-20 18:47:04 +01:00
synopsys
tehuti
ti net: ethernet: ti: ale: clean ale tbl on init and intf restart 2019-12-31 16:36:11 +01:00
toshiba net: toshiba: fix return type of ndo_start_xmit function 2019-11-20 18:47:02 +01:00
tundra net: tundra: tsi108: use spin_lock_irqsave instead of spin_lock_irq in IRQ context 2019-09-10 10:33:42 +01:00
via
wiznet
xilinx net: axienet: fix a signedness bug in probe 2020-01-27 14:51:15 +01:00
xircom
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c
jme.h
Kconfig
korina.c
lantiq_etop.c
Makefile
netx-eth.c