aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/net/wireless/mediatek/mt76/mt7603/mac.c
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2021-04-13 20:09:33 +0200
committerFelix Fietkau <nbd@nbd.name>2021-04-21 11:42:20 +0200
commit6929d1d747b3934df3b0b2bb8af31b3f1f539ae4 (patch)
tree41fa62a64a675b6fd7607f1811f45b5a3974a656 /drivers/net/wireless/mediatek/mt76/mt7603/mac.c
parentmt76: mt7921: add mt7921_dma_cleanup in mt7921_unregister_device (diff)
downloadwireguard-linux-6929d1d747b3934df3b0b2bb8af31b3f1f539ae4.tar.xz
wireguard-linux-6929d1d747b3934df3b0b2bb8af31b3f1f539ae4.zip
mt76: flush tx status queue on DMA reset
After DMA reset, tx status information for queued frames will never arrive. Flush the queue to free skbs immediately instead of waiting for a timeout Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'drivers/net/wireless/mediatek/mt76/mt7603/mac.c')
-rw-r--r--drivers/net/wireless/mediatek/mt76/mt7603/mac.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt7603/mac.c b/drivers/net/wireless/mediatek/mt76/mt7603/mac.c
index e3a9dd6fbd87..fbceb07c5f37 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7603/mac.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7603/mac.c
@@ -1445,6 +1445,8 @@ static void mt7603_mac_watchdog_reset(struct mt7603_dev *dev)
mt76_queue_rx_reset(dev, i);
}
+ mt76_tx_status_check(&dev->mt76, NULL, true);
+
mt7603_dma_sched_reset(dev);
mt7603_mac_dma_start(dev);