RE: [RFC -v2] wifi: rtw88: sdio: Tx status for management frames
From: Ping-Ke Shih
Date: Thu Apr 10 2025 - 00:30:46 EST
Hi Martin,
Zhen XIN <zhen.xin@xxxxxxxxxxxxxxx> wrote:
> 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;
Do you remember why you did the special deal with 11n chips?
And this RFC looks good to me. (except to commit message, but this is RFC)
> 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