From 709f2cd77810f8ab60770b28c5114056c15cc02d Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sun, 27 Sep 2020 16:36:25 +0200 Subject: [PATCH] mt76: mt7915: fix processing txfree events In the MT7915 info, the fields for the WLAN index / queue overlap with the token id, and the MT_TX_FREE_PAIR bit indicates, which one is present. If MT_TX_FREE_PAIR is set, skip processing the token index, since the data will not be valid. This fixes accidentally freeing tokens which are still in use by the hardware with a wrong station pointer. Signed-off-by: Felix Fietkau --- mt7915/mac.c | 1 + 1 file changed, 1 insertion(+) diff --git a/mt7915/mac.c b/mt7915/mac.c index 8eb0d79b..ad628951 100644 --- a/mt7915/mac.c +++ b/mt7915/mac.c @@ -955,6 +955,7 @@ void mt7915_mac_tx_free(struct mt7915_dev *dev, struct sk_buff *skb) if (list_empty(&msta->poll_list)) list_add_tail(&msta->poll_list, &dev->sta_poll_list); spin_unlock_bh(&dev->sta_poll_lock); + continue; } msdu = FIELD_GET(MT_TX_FREE_MSDU_ID, info);