summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Huang <david.huang@quanta.corp-partner.google.com>2022-08-24 10:41:05 +0800
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-09-01 05:11:39 +0000
commitea13c79313f0ce27d62cf369d5a0b6bff8539cd3 (patch)
tree13e2f47807cabc1623d9dab3eba89d0ee2b6605d
parent262cbd704cc261cd0e7d0add2cd1dbfce5a617b5 (diff)
downloadchrome-ec-ea13c79313f0ce27d62cf369d5a0b6bff8539cd3.tar.gz
:common: Not sleep 500ms when already left safe mode
Don not sleep 500ms when ec already left safe mode. BUG=b:226259582 BRANCH=main TEST=Check get battery info don't have 500ms delay in console. Signed-off-by: David Huang <david.huang@quanta.corp-partner.google.com> Change-Id: I740b49e654047800936086a9de33a87c7c46a300 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3853307 Commit-Queue: David Huang <david.huang@quanta.corp-partner.google.com> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3868142 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: David Huang <david.huang@quanta.corp-partner.google.com> Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org>
-rw-r--r--common/charge_manager.c15
-rw-r--r--common/charge_state_v2.c15
2 files changed, 15 insertions, 15 deletions
diff --git a/common/charge_manager.c b/common/charge_manager.c
index 88befb345f..12e76e0d4a 100644
--- a/common/charge_manager.c
+++ b/common/charge_manager.c
@@ -973,6 +973,21 @@ void charge_manager_leave_safe_mode(void)
if (left_safe_mode)
return;
+ /*
+ * Sometimes the fuel gauge will report that it has
+ * sufficient state of charge and remaining capacity,
+ * but in actuality it doesn't. When the EC sees that
+ * information, it trusts it and leaves charge manager
+ * safe mode. Doing so will allow CHARGE_PORT_NONE to
+ * be selected, thereby cutting off the input FETs.
+ * When the battery cannot provide the charge it claims,
+ * the system loses power, shuts down, and the battery
+ * is not charged even though the charger is plugged in.
+ * By waiting 500ms, we can avoid the selection of
+ * CHARGE_PORT_NONE around init time and not cut off the
+ * input FETs.
+ */
+ msleep(500);
CPRINTS("%s()", __func__);
cflush();
left_safe_mode = 1;
diff --git a/common/charge_state_v2.c b/common/charge_state_v2.c
index 25e1570505..084fd086d7 100644
--- a/common/charge_state_v2.c
+++ b/common/charge_state_v2.c
@@ -1935,21 +1935,6 @@ wait_for_it:
if (curr.batt.state_of_charge >=
CONFIG_CHARGE_MANAGER_BAT_PCT_SAFE_MODE_EXIT &&
!battery_seems_to_be_disconnected) {
- /*
- * Sometimes the fuel gauge will report that it has
- * sufficient state of charge and remaining capacity,
- * but in actuality it doesn't. When the EC sees that
- * information, it trusts it and leaves charge manager
- * safe mode. Doing so will allow CHARGE_PORT_NONE to
- * be selected, thereby cutting off the input FETs.
- * When the battery cannot provide the charge it claims,
- * the system loses power, shuts down, and the battery
- * is not charged even though the charger is plugged in.
- * By waiting 500ms, we can avoid the selection of
- * CHARGE_PORT_NONE around init time and not cut off the
- * input FETs.
- */
- msleep(500);
charge_manager_leave_safe_mode();
}
#endif