]> www.infradead.org Git - linux-platform-drivers-x86.git/commitdiff
mt76: mt7615: use ieee80211_free_txskb() in mt7615_tx_token_put()
authorRyder Lee <ryder.lee@mediatek.com>
Tue, 13 Apr 2021 08:00:07 +0000 (16:00 +0800)
committerFelix Fietkau <nbd@nbd.name>
Wed, 21 Apr 2021 09:42:20 +0000 (11:42 +0200)
We should use ieee80211_free_txskb() to report skb status avoid wrong
aql accounting after reset.

Cc: stable@vger.kernel.org
Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7615/mac.c

index 005c2829d3dfce8099b99c8c7ab41a59460cc7af..0b386030dbd8a8988c233485ca76e6067dbb7ae3 100644 (file)
@@ -1976,8 +1976,12 @@ void mt7615_tx_token_put(struct mt7615_dev *dev)
        spin_lock_bh(&dev->token_lock);
        idr_for_each_entry(&dev->token, txwi, id) {
                mt7615_txp_skb_unmap(&dev->mt76, txwi);
-               if (txwi->skb)
-                       dev_kfree_skb_any(txwi->skb);
+               if (txwi->skb) {
+                       struct ieee80211_hw *hw;
+
+                       hw = mt76_tx_status_get_hw(&dev->mt76, txwi->skb);
+                       ieee80211_free_txskb(hw, txwi->skb);
+               }
                mt76_put_txwi(&dev->mt76, txwi);
        }
        spin_unlock_bh(&dev->token_lock);