[RFC -v2] wifi: rtw88: sdio: Tx status for management frames

From: Zhen XIN
Date: Tue Apr 08 2025 - 23:50:37 EST


Rtw88-sdio is missing the tx status report for management frames

Fix this by mapping mgmt frames to queue TX_DESC_QSEL_MGMT

Signed-off-by: Zhen XIN <zhen.xin@xxxxxxxxxxxxxxx>
---
v2: have the right queue for mgmt frames as pointed out by Bitterblue Smith
---
drivers/net/wireless/realtek/rtw88/sdio.c | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/drivers/net/wireless/realtek/rtw88/sdio.c b/drivers/net/wireless/realtek/rtw88/sdio.c
index e024061bdbf7..4311eb7cffef 100644
--- a/drivers/net/wireless/realtek/rtw88/sdio.c
+++ b/drivers/net/wireless/realtek/rtw88/sdio.c
@@ -718,10 +718,7 @@ static u8 rtw_sdio_get_tx_qsel(struct rtw_dev *rtwdev, struct sk_buff *skb,
case RTW_TX_QUEUE_H2C:
return TX_DESC_QSEL_H2C;
case RTW_TX_QUEUE_MGMT:
- if (rtw_chip_wcpu_11n(rtwdev))
- return TX_DESC_QSEL_HIGH;
- else
- return TX_DESC_QSEL_MGMT;
+ return TX_DESC_QSEL_MGMT;
case RTW_TX_QUEUE_HI0:
return TX_DESC_QSEL_HIGH;
default:
@@ -1227,10 +1224,7 @@ static void rtw_sdio_process_tx_queue(struct rtw_dev *rtwdev,
return;
}

- if (queue <= RTW_TX_QUEUE_VO)
- rtw_sdio_indicate_tx_status(rtwdev, skb);
- else
- dev_kfree_skb_any(skb);
+ rtw_sdio_indicate_tx_status(rtwdev, skb);
}

static void rtw_sdio_tx_handler(struct work_struct *work)
--
2.25.1