diff options
author | Daisuke Nojiri <dnojiri@chromium.org> | 2022-03-10 17:27:32 +0000 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2022-03-18 04:46:31 +0000 |
commit | 0159d0917fbb19a1aaae6be4463470bf5d85fa67 (patch) | |
tree | cdedc0c20d71e41db43dd24b24cde632408a0fec | |
parent | 8e28608f952f5ab20781d85fe1f0da27b3b318a4 (diff) | |
download | chrome-ec-0159d0917fbb19a1aaae6be4463470bf5d85fa67.tar.gz |
battery: Set EC_BATT_FLAG_INVALID_DATA correctly
There is a typo in the logic where EC_BATT_FLAG_INVALID_DATA is set.
Because of this, currently, EC_BATT_FLAG_INVALID_DATA is reported to
the host only if BATT_FLAG_BAD_CURRENT is set. BATT_FLAG_BAD_CURRENT
happens to be 0x20 which is equal to EC_BATT_FLAG_INVALID_DATA.
(This originates from I3c428c850020a29b3f452504b60b52946a04c503.)
This patch corrects the logic by changing EC_BATT_FLAG_INVALID_DATA
to BATT_FLAG_BAD_ANY.
BUG=b:65697962,b:65697620
BRANCH=None
TEST=None
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
Change-Id: I7504932f078ce797daf8e5c017b7835c90220a99
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3516912
Reviewed-by: caveh jalali <caveh@chromium.org>
(cherry picked from commit 550f6384d82a563d85248d8a740931257b11250c)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3533719
Commit-Queue: caveh jalali <caveh@chromium.org>
-rw-r--r-- | common/charge_state_v2.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/common/charge_state_v2.c b/common/charge_state_v2.c index 4a05cc50a0..43413570de 100644 --- a/common/charge_state_v2.c +++ b/common/charge_state_v2.c @@ -846,7 +846,7 @@ static void update_dynamic_battery_info(void) batt_present = 0; } - if (curr.batt.flags & EC_BATT_FLAG_INVALID_DATA) + if (curr.batt.flags & BATT_FLAG_BAD_ANY) tmp |= EC_BATT_FLAG_INVALID_DATA; if (!(curr.batt.flags & BATT_FLAG_BAD_VOLTAGE)) @@ -991,7 +991,7 @@ static void update_dynamic_battery_info(void) batt_present = 0; } - if (curr.batt.flags & EC_BATT_FLAG_INVALID_DATA) + if (curr.batt.flags & BATT_FLAG_BAD_ANY) tmp |= EC_BATT_FLAG_INVALID_DATA; if (!(curr.batt.flags & BATT_FLAG_BAD_VOLTAGE)) |