diff --git a/drivers/power/qpnp-smbcharger-mmi/qpnp-smbcharger-mmi.c b/drivers/power/qpnp-smbcharger-mmi/qpnp-smbcharger-mmi.c index 963fefb9e7ec..0f3be50ae7d9 100644 --- a/drivers/power/qpnp-smbcharger-mmi/qpnp-smbcharger-mmi.c +++ b/drivers/power/qpnp-smbcharger-mmi/qpnp-smbcharger-mmi.c @@ -2718,7 +2718,8 @@ static int mmi_dual_charge_control(struct smb_mmi_charger *chg, target_fcc = main_p->target_fcc + flip_p->target_fcc; target_fcc -= main_p->ocp[main_p->pres_temp_zone]; target_fcc -= flip_p->ocp[flip_p->pres_temp_zone]; - if (target_fcc < main_p->target_fcc) { + if ( (target_fcc < main_p->target_fcc) && + (chg_stat_flip.batt_ma < flip_p->target_fcc) ) { mmi_info(chg, "Target FCC adjust too much\n"); target_fcc = main_p->target_fcc; }