rtw88: 8723d: fix incorrect setting of ldo_pwr
authorColin Ian King <colin.king@canonical.com>
Thu, 14 May 2020 18:13:29 +0000 (19:13 +0100)
committerKalle Valo <kvalo@codeaurora.org>
Mon, 18 May 2020 12:17:26 +0000 (15:17 +0300)
Currently ldo_pwr has the LDO25 voltage bits set to zero and then
it is overwritten with the new voltage setting. The assignment
looks incorrect, it should be bit-wise or'ing in the new voltage
setting rather than a direct assignment.

Addresses-Coverity: ("Unused value")
Fixes: 1afb5eb7a00d ("rtw88: 8723d: Add cfg_ldo25 to control LDO25")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Acked-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20200514181329.16292-1-colin.king@canonical.com
drivers/net/wireless/realtek/rtw88/rtw8723d.c

index 340c8c4..7422baf 100644 (file)
@@ -562,7 +562,7 @@ static void rtw8723d_cfg_ldo25(struct rtw_dev *rtwdev, bool enable)
        ldo_pwr = rtw_read8(rtwdev, REG_LDO_EFUSE_CTRL + 3);
        if (enable) {
                ldo_pwr &= ~BIT_MASK_LDO25_VOLTAGE;
-               ldo_pwr = (BIT_LDO25_VOLTAGE_V25 << 4) | BIT_LDO25_EN;
+               ldo_pwr |= (BIT_LDO25_VOLTAGE_V25 << 4) | BIT_LDO25_EN;
        } else {
                ldo_pwr &= ~BIT_LDO25_EN;
        }