]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
wifi: rtw89: obtain RX path from ppdu status IE00
authorChih-Kang Chang <gary.chang@realtek.com>
Mon, 15 Sep 2025 06:52:06 +0000 (14:52 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Nov 2025 20:34:26 +0000 (15:34 -0500)
[ Upstream commit e156d2ab36d7e47aec36845705e4ecb1e4e89976 ]

The header v2 of ppdu status is optional, If it is not enabled, the RX
path must be obtained from IE00 or IE01. Append the IE00 part.

Signed-off-by: Chih-Kang Chang <gary.chang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20250915065213.38659-5-pkshih@realtek.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/realtek/rtw89/core.c
drivers/net/wireless/realtek/rtw89/txrx.h

index 1147abf77154730ab3218938cafe05d71e509aad..3584445b27387d209b84ef3b2ea6fd6e0b61051d 100644 (file)
@@ -1710,6 +1710,10 @@ static void rtw89_core_parse_phy_status_ie00(struct rtw89_dev *rtwdev,
 
        tmp_rpl = le32_get_bits(ie->w0, RTW89_PHY_STS_IE00_W0_RPL);
        phy_ppdu->rpl_avg = tmp_rpl >> 1;
+
+       if (!phy_ppdu->hdr_2_en)
+               phy_ppdu->rx_path_en =
+                       le32_get_bits(ie->w3, RTW89_PHY_STS_IE00_W3_RX_PATH_EN);
 }
 
 static void rtw89_core_parse_phy_status_ie00_v2(struct rtw89_dev *rtwdev,
index b2e47829983fee3a976a3d3325392ec3c4a71faa..3a3b6154db45845d435fb642b3781d1ea86c82aa 100644 (file)
@@ -568,6 +568,7 @@ struct rtw89_phy_sts_ie00 {
 } __packed;
 
 #define RTW89_PHY_STS_IE00_W0_RPL GENMASK(15, 7)
+#define RTW89_PHY_STS_IE00_W3_RX_PATH_EN GENMASK(31, 28)
 
 struct rtw89_phy_sts_ie00_v2 {
        __le32 w0;