[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <b4d6d329b6fb46f1913e31f9e0bdb5a1@realtek.com>
Date: Wed, 5 Nov 2025 01:06:26 +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 v5 08/10] wifi: rtw89: handle IEEE80211_TX_CTL_REQ_TX_STATUS frames for USB
Fedor Pchelkin <pchelkin@...ras.ru> wrote:
> Frames flagged with IEEE80211_TX_CTL_REQ_TX_STATUS mean the driver has to
> report to mac80211 stack whether AP sent ACK for the null frame/probe
> request or not. It's not implemented in USB part of the driver yet.
>
> PCIe HCI has its own way of getting TX status incorporated into RPP
> feature, and it's always enabled there. Other HCIs need a different
> scheme based on processing C2H messages.
>
> Thus define a .tx_rpt_enabled flag indicating which HCIs need to enable a
> TX report feature. Currently it is USB only.
>
> Toggle a bit in the TX descriptor and place flagged skbs in a fix-sized
> queue to wait for a message from the firmware. Firmware maintains a 4-bit
> sequence number for required frames hence the queue can contain just 16
> elements simultaneously. That's enough for normal driver / firmware
> communication. If the firmware crashes for any reason and doesn't provide
> TX reports in time, driver will handle this and report the obsolete frames
> as dropped.
>
> rtw89 also has a new feature providing a TX report for each transmission
> attempt. Ignore a failed TX status reported by the firmware until retry
> limit is reached or successful status appears. When there is no success
> and the retry limit is reached, report the frame up to the wireless stack
> as failed eventually.
>
> HCI reset should stop all pending TX activity so forcefully flush the
> queue there.
>
> Found by Linux Verification Center (linuxtesting.org).
>
> Signed-off-by: Fedor Pchelkin <pchelkin@...ras.ru>
Acked-by: Ping-Ke Shih <pkshih@...ltek.com>
Powered by blists - more mailing lists