wifi: rtl8xxxu: gen2: Fix mistake in path B IQ calibration
authorBitterblue Smith <rtl8821cerfe2@gmail.com>
Fri, 2 Sep 2022 11:48:32 +0000 (14:48 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 26 Oct 2022 10:34:43 +0000 (12:34 +0200)
[ Upstream commit e963a19c64ac0d2f8785d36a27391abd91ac77aa ]

Found by comparing with the vendor driver. Currently this affects
only the RTL8192EU, which is the only gen2 chip with 2 TX paths
supported by this driver. It's unclear what kind of effect the
mistake had in practice, since I don't have any RTL8192EU devices
to test it.

Fixes: e1547c535ede ("rtl8xxxu: First stab at adding IQK calibration for 8723bu parts")
Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/30a59f3a-cfa9-8379-7af0-78a8f4c77cfd@gmail.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c

index 395c3106095087dd2fa864ea71a6cf6d0b6e3082..a74ded84c2acea4967f387ff60672297e96013da 100644 (file)
@@ -2925,12 +2925,12 @@ bool rtl8xxxu_gen2_simularity_compare(struct rtl8xxxu_priv *priv,
                }
 
                if (!(simubitmap & 0x30) && priv->tx_paths > 1) {
-                       /* path B RX OK */
+                       /* path B TX OK */
                        for (i = 4; i < 6; i++)
                                result[3][i] = result[c1][i];
                }
 
-               if (!(simubitmap & 0x30) && priv->tx_paths > 1) {
+               if (!(simubitmap & 0xc0) && priv->tx_paths > 1) {
                        /* path B RX OK */
                        for (i = 6; i < 8; i++)
                                result[3][i] = result[c1][i];