rtw89: read chip version depends on chip ID
authorPing-Ke Shih <pkshih@realtek.com>
Mon, 7 Mar 2022 06:04:49 +0000 (14:04 +0800)
committerKalle Valo <kvalo@kernel.org>
Thu, 10 Mar 2022 16:42:37 +0000 (18:42 +0200)
Only 8852A may get wrong chip version if power isn't on, so it needs
additional actions to correct the version. Later chips don't need those.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220307060457.56789-6-pkshih@realtek.com
drivers/net/wireless/realtek/rtw89/core.c

index a93555b..bcefc96 100644 (file)
@@ -2732,10 +2732,11 @@ void rtw89_core_scan_complete(struct rtw89_dev *rtwdev,
 
 static void rtw89_read_chip_ver(struct rtw89_dev *rtwdev)
 {
+       const struct rtw89_chip_info *chip = rtwdev->chip;
        u8 cv;
 
        cv = rtw89_read32_mask(rtwdev, R_AX_SYS_CFG1, B_AX_CHIP_VER_MASK);
-       if (cv <= CHIP_CBV) {
+       if (chip->chip_id == RTL8852A && cv <= CHIP_CBV) {
                if (rtw89_read32(rtwdev, R_AX_GPIO0_7_FUNC_SEL) == RTW89_R32_DEAD)
                        cv = CHIP_CAV;
                else