From bde93169098e7842bca0d43fc9eb356287daeac2 Mon Sep 17 00:00:00 2001 From: Haijian Ma Date: Mon, 18 Nov 2019 11:51:22 +0800 Subject: [PATCH] MMI: fixed unit can't recharge issue unit can't recharge after charge full. When unit charge full, it will get the forced capacity 100%, so chrg_step can't be switch to STEP_NORM from STEP_FULL. Change-Id: Idd1a963b34cdbd14b446160948315d45704a0d88 Signed-off-by: Haijian Ma Reviewed-on: https://gerrit.mot.com/1456841 SLTApproved: Slta Waiver SME-Granted: SME Approvals Granted Tested-by: Jira Key Reviewed-by: Lu Chai Reviewed-by: Huosheng Liao Submit-Approved: Jira Key --- drivers/power/qpnp-smbcharger-mmi/qpnp-smbcharger-mmi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/power/qpnp-smbcharger-mmi/qpnp-smbcharger-mmi.c b/drivers/power/qpnp-smbcharger-mmi/qpnp-smbcharger-mmi.c index c1fd3e4ca9f6..35c1942c09fc 100644 --- a/drivers/power/qpnp-smbcharger-mmi/qpnp-smbcharger-mmi.c +++ b/drivers/power/qpnp-smbcharger-mmi/qpnp-smbcharger-mmi.c @@ -2628,7 +2628,8 @@ static void mmi_basic_charge_sm(struct smb_mmi_charger *chip, prm->pres_chrg_step = STEP_FULL; } } else if (prm->pres_chrg_step == STEP_FULL) { - if (stat->batt_soc <= 99) { + if ((stat->batt_soc <= 99) || + stat->batt_mv < (max_fv_mv - HYST_STEP_MV * 2)) { prm->chrg_taper_cnt = 0; prm->pres_chrg_step = STEP_NORM; }