]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
wifi: mt76: mt7915: release rxwi in mt7915_wed_release_rx_buf
authorSujuan Chen <sujuan.chen@mediatek.com>
Thu, 5 Jan 2023 17:30:49 +0000 (18:30 +0100)
committerFelix Fietkau <nbd@nbd.name>
Fri, 3 Feb 2023 13:47:17 +0000 (14:47 +0100)
Free rxwi cache releasing WED rx buffers in mt7915_wed_release_rx_buf
routine

Tested-by: Daniel Golle <daniel@makrotopia.org>
Co-developed-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Sujuan Chen <sujuan.chen@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/dma.c
drivers/net/wireless/mediatek/mt76/mt76.h
drivers/net/wireless/mediatek/mt76/mt7915/mmio.c

index e8f43770a4277946c05695f95eb72981e6039e71..9d02b2390c271ae12c239af118999846417b96e2 100644 (file)
@@ -165,7 +165,7 @@ mt76_free_pending_txwi(struct mt76_dev *dev)
        local_bh_enable();
 }
 
-static void
+void
 mt76_free_pending_rxwi(struct mt76_dev *dev)
 {
        struct mt76_txwi_cache *t;
@@ -178,6 +178,7 @@ mt76_free_pending_rxwi(struct mt76_dev *dev)
        }
        local_bh_enable();
 }
+EXPORT_SYMBOL_GPL(mt76_free_pending_rxwi);
 
 static void
 mt76_dma_sync_idx(struct mt76_dev *dev, struct mt76_queue *q)
index 62ac53e37003dde16432f69dac2a5d6f993eff68..48dc4236f8f8d9b6c9dabde933e8db95291b0bcd 100644 (file)
@@ -1270,6 +1270,7 @@ mt76_tx_status_get_hw(struct mt76_dev *dev, struct sk_buff *skb)
 void mt76_put_txwi(struct mt76_dev *dev, struct mt76_txwi_cache *t);
 void mt76_put_rxwi(struct mt76_dev *dev, struct mt76_txwi_cache *t);
 struct mt76_txwi_cache *mt76_get_rxwi(struct mt76_dev *dev);
+void mt76_free_pending_rxwi(struct mt76_dev *dev);
 void mt76_rx_complete(struct mt76_dev *dev, struct sk_buff_head *frames,
                      struct napi_struct *napi);
 void mt76_rx_poll_complete(struct mt76_dev *dev, enum mt76_rxq_id q,
index d9cc7b6a4b57ca71f16573483fb101cd10050dba..896d57f01e9d75ec2054b22d1d07454126e279b1 100644 (file)
@@ -609,6 +609,8 @@ static void mt7915_mmio_wed_release_rx_buf(struct mtk_wed_device *wed)
 
                mt76_put_rxwi(&dev->mt76, t);
        }
+
+       mt76_free_pending_rxwi(&dev->mt76);
 }
 
 static u32 mt7915_mmio_wed_init_rx_buf(struct mtk_wed_device *wed, int size)