Port mt76x02_check_tx_hang watchdog from vendor driver in order to reset the card when tx mac/dma engine is stucked. Tx mac/dma stuck occurs when the device is heavily loaded or in a noisy environment. In that condition tx queues are not drained since the device does not generate tx interrupts. This series is based on "add EDCCA support to mt76x{0,2}e drivers" https://patchwork.kernel.org/cover/10727149/ Lorenzo Bianconi (2): mt76: run mac work every 100ms mt76: introduce mt76x02_check_tx_hang watchdog drivers/net/wireless/mediatek/mt76/mt76.h | 1 + .../net/wireless/mediatek/mt76/mt76x0/pci.c | 2 +- .../net/wireless/mediatek/mt76/mt76x0/usb.c | 2 +- drivers/net/wireless/mediatek/mt76/mt76x02.h | 7 ++ .../wireless/mediatek/mt76/mt76x02_debugfs.c | 2 + .../net/wireless/mediatek/mt76/mt76x02_mac.c | 90 ++++++++++++++++++- .../net/wireless/mediatek/mt76/mt76x02_mmio.c | 23 +++++ .../wireless/mediatek/mt76/mt76x2/pci_main.c | 2 +- .../wireless/mediatek/mt76/mt76x2/usb_main.c | 2 +- 9 files changed, 125 insertions(+), 6 deletions(-) -- 2.20.1