google_charger: clear overheat status in bd_reset
Bug: 194447426
Signed-off-by: Jenny Ho <hsiufangho@google.com>
Change-Id: I7e6078c730d14e89a55dae0f3a978023768b4f97
(cherry picked from commit 1cc730b5950a98da6f948746bdab3211bdc1ccd1)
diff --git a/drivers/power/supply/google_charger.c b/drivers/power/supply/google_charger.c
index 85af847..9f47958 100644
--- a/drivers/power/supply/google_charger.c
+++ b/drivers/power/supply/google_charger.c
@@ -2133,8 +2133,21 @@
if (ret < 0)
return ret;
- if (val)
- bd_reset(&chg_drv->bd_state);
+ if (!val)
+ return ret;
+
+ mutex_lock(&chg_drv->bd_lock);
+
+ ret = bd_batt_set_state(chg_drv, false, -1);
+ if (ret < 0)
+ pr_err("MSC_BD set_batt_state (%d)\n", ret);
+
+ bd_reset(&chg_drv->bd_state);
+
+ if (chg_drv->chg_psy)
+ power_supply_changed(chg_drv->chg_psy);
+
+ mutex_unlock(&chg_drv->bd_lock);
if (chg_drv->bat_psy)
power_supply_changed(chg_drv->bat_psy);