wifi: mt76: check txs format before getting skb by pid

The PPDU TxS does not include the error bit so it cannot use to report
status to mac80211.

Signed-off-by: Peter Chiu <chui-hao.chiu@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
Peter Chiu
2023-12-08 07:35:39 +08:00
committed by Felix Fietkau
parent 775cf70c40
commit 6178554066
2 changed files with 8 additions and 0 deletions

View File

@@ -32,6 +32,11 @@ enum {
MT_LMAC_PSMP0,
};
enum {
MT_TXS_MPDU_FMT = 0,
MT_TXS_PPDU_FMT = 2,
};
#define MT_TX_FREE_MSDU_CNT GENMASK(9, 0)
#define MT_TX_FREE_WLAN_ID GENMASK(23, 14)
#define MT_TX_FREE_COUNT GENMASK(12, 0)

View File

@@ -716,6 +716,9 @@ bool mt76_connac2_mac_add_txs_skb(struct mt76_dev *dev, struct mt76_wcid *wcid,
struct sk_buff_head list;
struct sk_buff *skb;
if (le32_get_bits(txs_data[0], MT_TXS0_TXS_FORMAT) == MT_TXS_PPDU_FMT)
return false;
mt76_tx_status_lock(dev, &list);
skb = mt76_tx_status_skb_get(dev, wcid, pid, &list);
if (skb) {