diff options
author | Bo Jiao <Bo.Jiao@mediatek.com> | 2023-05-22 21:49:53 +0300 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2023-07-25 22:59:41 +0300 |
commit | 1e64fdd41c9d2c6f6c9ef0ce7d6854c70d812d0f (patch) | |
tree | baf5161aa21ac0a4bc531dd7c0ddbe6150da7739 /drivers/net/wireless/mediatek/mt76/dma.c | |
parent | 6ae39b7c7ed4d594cacb6b1d61fb6a8602df0c3c (diff) | |
download | linux-1e64fdd41c9d2c6f6c9ef0ce7d6854c70d812d0f.tar.xz |
wifi: mt76: mt7915: disable WFDMA Tx/Rx during SER recovery
Stop WFDMA transaction to avoid potential unexpected issue while doing
system recovery.
Signed-off-by: Bo Jiao <Bo.Jiao@mediatek.com>
Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'drivers/net/wireless/mediatek/mt76/dma.c')
-rw-r--r-- | drivers/net/wireless/mediatek/mt76/dma.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/dma.c b/drivers/net/wireless/mediatek/mt76/dma.c index 465190ebaf1c..05d9ab3ce819 100644 --- a/drivers/net/wireless/mediatek/mt76/dma.c +++ b/drivers/net/wireless/mediatek/mt76/dma.c @@ -466,6 +466,9 @@ mt76_dma_tx_queue_skb_raw(struct mt76_dev *dev, struct mt76_queue *q, struct mt76_queue_buf buf = {}; dma_addr_t addr; + if (test_bit(MT76_MCU_RESET, &dev->phy.state)) + goto error; + if (q->queued + 1 >= q->ndesc - 1) goto error; @@ -507,6 +510,9 @@ mt76_dma_tx_queue_skb(struct mt76_dev *dev, struct mt76_queue *q, dma_addr_t addr; u8 *txwi; + if (test_bit(MT76_RESET, &dev->phy.state)) + goto free_skb; + t = mt76_get_txwi(dev); if (!t) goto free_skb; |