From cc3c111f0f04b03c7ff4b07be2eb2901d21f13cd Mon Sep 17 00:00:00 2001 From: liuyc20 Date: Wed, 22 Dec 2021 14:34:11 +0800 Subject: [PATCH] FG: RT9426a add safeguard for SOH In some abnormal cases the soh=0 from the chip, that make the bms_charge_counter&&bms_charge_full abnormal,then calculate the wrong UI_SOC for battery. if get soh=0; use old soh to aviod getting the wrong soc. Change-Id: Ic7433d23c3162a96a40f9bc5e7043dcdfb42fb14 Signed-off-by: liuyc20 Reviewed-on: https://gerrit.mot.com/2151691 SME-Granted: SME Approvals Granted SLTApproved: Slta Waiver Tested-by: Jira Key Reviewed-by: Huosheng Liao Submit-Approved: Jira Key --- drivers/power/rt9426a_fg_mmi/rt9426a_battery.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/power/rt9426a_fg_mmi/rt9426a_battery.c b/drivers/power/rt9426a_fg_mmi/rt9426a_battery.c index cc113f0b2cee..76d61cfc252c 100644 --- a/drivers/power/rt9426a_fg_mmi/rt9426a_battery.c +++ b/drivers/power/rt9426a_fg_mmi/rt9426a_battery.c @@ -413,7 +413,7 @@ static int rt9426a_get_soh(struct rt9426a_chip *chip) int ret; ret = rt9426a_reg_read_word(chip->i2c, RT9426A_REG_SOH); - if (ret < 0) + if (ret <= 0) dev_notice(chip->dev, "%s: read soh fail\n", __func__); else chip->soh = ret;