summaryrefslogtreecommitdiff
path: root/common/battery.c
diff options
context:
space:
mode:
authorEvan Green <evgreen@chromium.org>2019-06-07 13:22:46 -0700
committerCommit Bot <commit-bot@chromium.org>2019-06-08 03:48:58 +0000
commit0a11eedb27b7cb116a290e966743d6c211c07385 (patch)
treeeb729bb5aabded28123a0661d8aa9bf22644511b /common/battery.c
parent8e7a7fb6cf9e7afcd1b80911c14ae76e8b9860fc (diff)
downloadchrome-ec-0a11eedb27b7cb116a290e966743d6c211c07385.tar.gz
common/battery: Avoid negative display percentages
Battery charges less than batt_host_shutdown_pct cause the display charge to go negative. This looks silly in EC console prints: [38.474266 Battery 2% (Display -2.-7 %) / 3h:15 to full] BUG=b:134586427 BRANCH=None TEST=Run kohaku down to low battery, observe display stays at 0. Change-Id: If8eb477b8bb21451069bac5c1474b7a408b30582 Signed-off-by: Evan Green <evgreen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1650136 Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Diffstat (limited to 'common/battery.c')
-rw-r--r--common/battery.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/common/battery.c b/common/battery.c
index 0f528e97c6..0dc9e0b899 100644
--- a/common/battery.c
+++ b/common/battery.c
@@ -607,6 +607,8 @@ void battery_compensate_params(struct batt_params *batt)
denom = lfcc * (100 - batt_host_shutdown_pct);
/* Rounding (instead of truncating) */
batt->display_charge = (numer + denom / 2) / denom;
+ if (batt->display_charge < 0)
+ batt->display_charge = 0;
}
__attribute__((weak)) int get_battery_manufacturer_name(char *dest, int size)