diff --git a/drivers/power/qpnp-smbcharger-mmi/qpnp-smbcharger-mmi.c b/drivers/power/qpnp-smbcharger-mmi/qpnp-smbcharger-mmi.c index 471c281b1b5f..cdbf486a8361 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 >= prm->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;