[PATCH rtw-next v2 0/7] wifi: rtw89: improvements for USB part

Fedor Pchelkin
2025-10-02T20:09:23Z

The first two patches concern memory leak issues found during testing.

The third and the fourth one do some extra small changes.

The other ones implement TX completion functionality missing for the USB
part of rtw89 driver, suggested by Bitterblue Smith [1]. This will allow
handling TX wait skbs and the ones flagged with IEEE80211_TX_CTL_REQ_TX_STATUS
correctly.

rtw89 has several ways of handling TX status report events. The first one
is based on RPP feature which is used by PCIe HCI. The other one depends
on firmware sending a corresponding C2H message, quite similar to what
rtw88 has. RTL8851BU vendor driver [2] was taken for reference.

[1]: https://lore.kernel.org/linux-wireless/0cb4d19b-94c7-450e-ac56-8b0d4a1d889f@gmail.com/
[2]: https://github.com/fofajardo/rtl8851bu.git

Series has been tested to work with RTL8851BU (USB) and RTL8852BE (PCIe)
devices.

Changelog.

v2: - add new 3/7 and 4/7 patches prepared due feedback to previous comments
or developed in process
- further changelog below --- in the patches

v1: https://lore.kernel.org/linux-wireless/20250920132614.277719-1-pchelkin@ispras.ru/

Fedor Pchelkin (7):
wifi: rtw89: usb: use common error path for skbs in
rtw89_usb_rx_handler()
wifi: rtw89: usb: fix leak in rtw89_usb_write_port()
wifi: rtw89: usb: use ieee80211_free_txskb() where appropriate
wifi: rtw89: refine rtw89_core_tx_wait_complete()
wifi: rtw89: implement C2H TX report handler
wifi: rtw89: handle IEEE80211_TX_CTL_REQ_TX_STATUS frames for USB
wifi: rtw89: process TX wait skbs for USB via C2H handler

drivers/net/wireless/realtek/rtw89/core.c | 41 ++++++++++++---
drivers/net/wireless/realtek/rtw89/core.h | 45 +++++++++++++----
drivers/net/wireless/realtek/rtw89/fw.h | 14 ++++++
drivers/net/wireless/realtek/rtw89/mac.c | 46 +++++++++++++++++
drivers/net/wireless/realtek/rtw89/mac.h | 61 +++++++++++++++++++++++
drivers/net/wireless/realtek/rtw89/pci.c | 2 +-
drivers/net/wireless/realtek/rtw89/pci.h | 4 --
drivers/net/wireless/realtek/rtw89/txrx.h | 6 ++-
drivers/net/wireless/realtek/rtw89/usb.c | 41 +++++++++++----
9 files changed, 228 insertions(+), 32 deletions(-)

--
2.51.0