]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: rtlwifi: rtl8821ae: Fix C2H bit location in RX descriptor
authorBitterblue Smith <rtl8821cerfe2@gmail.com>
Sat, 25 Apr 2026 19:32:58 +0000 (22:32 +0300)
committerPing-Ke Shih <pkshih@realtek.com>
Wed, 29 Apr 2026 05:50:55 +0000 (13:50 +0800)
Bit 28 of double word 2 in the RX descriptor indicates if the packet is
a normal 802.11 frame, or a message from the wifi firmware to the
driver (Card 2 Host).

Commit f5678bfe1cdc ("rtlwifi: rtl8821ae: Replace local bit manipulation
macros") mistakenly made the driver look for this bit in double word 1,
causing packet loss and Bluetooth coexistence problems.

Fixes: f5678bfe1cdc ("rtlwifi: rtl8821ae: Replace local bit manipulation macros")
Cc: <stable@vger.kernel.org>
Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>
Acked-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/04da7398-cedb-425a-a810-5772ab10139d@gmail.com
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/trx.h

index 1155365348f32a802e747b05629cf18a14601396..d5de09d75f451149de7517f357e337e313454d0a 100644 (file)
@@ -291,7 +291,7 @@ static inline int get_rx_desc_paggr(__le32 *__pdesc)
 
 static inline int get_rx_status_desc_rpt_sel(__le32 *__pdesc)
 {
-       return le32_get_bits(*(__pdesc + 1), BIT(28));
+       return le32_get_bits(*(__pdesc + 2), BIT(28));
 }
 
 static inline int get_rx_desc_rxmcs(__le32 *__pdesc)