mirror of
https://github.com/openwrt/openwrt.git
synced 2026-10-23 10:47:49 +04:00
Backport the upstream fix for USB devices where the firmware falls
behind on TX status requests and starts numbering the reports wrongly,
so the driver gives up on them:
rtw_8822bu 3-1:1.0: failed to get tx report from firmware
QOS Null data frames were described to the firmware as ordinary data
while plain Null data frames were described as management frames, which
the firmware does not cope with.
Losing those reports is not cosmetic in AP mode. hostapd polls an idle
station with a Null frame and waits for the TX status. When rtw88 purges
the frame instead, hostapd never learns that the station answered and
disconnects it:
hostapd: phy7-ap0: STA 9c:53:22:29:d3:6e IEEE 802.11: deauthenticated
due to inactivity (timer DEAUTH/REMOVE)
mac80211 also keeps the skb in its ack_status_frames IDR, which shows up
as "Have pending ack frames!" when the device is unbound.
Upstream commit 737e980e1298 ("wifi: rtw88: TX QOS Null data the same
way as Null data"), in Linux since v7.1. It carries no Cc: stable tag,
so it will not arrive through a 6.12.y point release of the backports
tarball used by this branch. The author tested it on RTL8812BU, which is
the chip in the adapter used here.
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/25299
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>