[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <191616d9c1864814ae95129886038ad9@realtek.com>
Date: Wed, 22 Oct 2025 09:03:01 +0000
From: Ping-Ke Shih <pkshih@...ltek.com>
To: Fedor Pchelkin <pchelkin@...ras.ru>,
Bitterblue Smith
<rtl8821cerfe2@...il.com>
CC: Zong-Zhe Yang <kevin_yang@...ltek.com>,
Bernie Huang
<phhuang@...ltek.com>,
"linux-wireless@...r.kernel.org"
<linux-wireless@...r.kernel.org>,
"linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>,
"lvc-project@...uxtesting.org"
<lvc-project@...uxtesting.org>
Subject: RE: [PATCH rtw-next v3 9/9] wifi: rtw89: process TX wait skbs for USB via C2H handler
Fedor Pchelkin <pchelkin@...ras.ru> wrote:
> TX wait skbs need to be completed when they are done. PCIe part does this
> inside rtw89_pci_tx_status() during RPP processing. Other HCIs use a
> mechanism based on C2H firmware messages.
>
> Store TX wait skbs inside TX report queue so that it'll be possible to
> identify completed items inside the C2H handler via private driver data of
> skb. Try to do this as similar to PCIe path as possible. When the
> corresponding TX wait skb is found inside TX report queue, unlink it from
> there and call rtw89_core_tx_wait_complete() to mark the completion.
>
> If the callee waiting for the completion has already timed out, the TX
> wait skb is placed into TX wait list (like PCIe part does).
>
> Found by Linux Verification Center (linuxtesting.org).
>
> Signed-off-by: Fedor Pchelkin <pchelkin@...ras.ru>
Acked-by: Ping-Ke Shih <pkshih@...ltek.com>
[...]
> static inline
> void rtw89_tx_rpt_tx_status(struct rtw89_dev *rtwdev, struct sk_buff *skb, u8 tx_status)
> {
> + struct rtw89_tx_skb_data *skb_data = RTW89_TX_SKB_CB(skb);
> struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
>
> + if (rtw89_core_tx_wait_complete(rtwdev, skb_data, tx_status))
> + return;
> +
nit: move 'info = IEEE80211_SKB_CB(skb);' here like PCIE does.
> ieee80211_tx_info_clear_status(info);
> if (tx_status == RTW89_TX_DONE)
> info->flags |= IEEE80211_TX_STAT_ACK;
Powered by blists - more mailing lists