mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-07 13:57:54 -04:00
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:
committed by
Felix Fietkau
parent
775cf70c40
commit
6178554066
@@ -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)
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user