diff --git a/drivers/power/qpnp-smbcharger-mmi/qpnp-smbcharger-mmi.c b/drivers/power/qpnp-smbcharger-mmi/qpnp-smbcharger-mmi.c index 35c1942c09fc..11562c0e042a 100644 --- a/drivers/power/qpnp-smbcharger-mmi/qpnp-smbcharger-mmi.c +++ b/drivers/power/qpnp-smbcharger-mmi/qpnp-smbcharger-mmi.c @@ -2550,7 +2550,10 @@ static void mmi_basic_charge_sm(struct smb_mmi_charger *chip, max_fv_mv = chip->base_fv_mv; mmi_find_temp_zone(chip, prm, stat->batt_temp); - zone = &prm->temp_zones[prm->pres_temp_zone]; + if (prm->pres_temp_zone >= chip->num_temp_zones) + zone = &prm->temp_zones[0]; + else + zone = &prm->temp_zones[prm->pres_temp_zone]; if (!stat->charger_present && !is_wls_online(chip)) { prm->pres_chrg_step = STEP_NONE;