power: smb5-lib: Use the unlocked version votable for FV

Float voltage is read in the batt_health() callback.
batt_health() is called from batt_status() and batt_status()
is also called from the FV callback leading to a deadlock.
Fix it by using the unlocked version of votable while reading FV.

Change-Id: Ie6f9f683c048a2a1c64d46716433bcff359dc3b0
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
This commit is contained in:
Anirudh Ghayal 2020-05-14 21:33:33 +05:30
commit 208e1c5457

View file

@ -2262,7 +2262,8 @@ int smblib_get_prop_batt_health(struct smb_charger *chg,
* If Vbatt is within 40mV above Vfloat, then don't
* treat it as overvoltage.
*/
effective_fv_uv = get_effective_result(chg->fv_votable);
effective_fv_uv = get_effective_result_locked(
chg->fv_votable);
if (pval.intval >= effective_fv_uv + 40000) {
val->intval = POWER_SUPPLY_HEALTH_OVERVOLTAGE;
smblib_err(chg, "battery over-voltage vbat_fg = %duV, fv = %duV\n",