summaryrefslogtreecommitdiff
path: root/driver/tcpm/rt1718s.c
diff options
context:
space:
mode:
authorTing Shen <phoenixshen@google.com>2021-09-02 17:56:04 +0800
committerCommit Bot <commit-bot@chromium.org>2021-09-02 14:04:48 +0000
commit566139b225145c3a4d77465f70eb61c035ec3dcb (patch)
tree882c214d0949588dd7439bbfbf8844e1bae2db29 /driver/tcpm/rt1718s.c
parent7999cc115b95dc918ec6a89d4e0f4b55728557d7 (diff)
downloadchrome-ec-566139b225145c3a4d77465f70eb61c035ec3dcb.tar.gz
rt1718s: don't update charge_manager on supplier = NONE
Same bug as CL:3113487. charge_manager accidentally overwrites other global variable when supplier = -1. BUG=b:198552518 TEST=Add debug log in charge_manager.c, make sure charge_manager does not receive invalid arguments. BRANCH=main Signed-off-by: Ting Shen <phoenixshen@google.com> Change-Id: I12787ab66fba7d8328440835867262e3828ac723 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3140013 Reviewed-by: Eric Yilun Lin <yllin@google.com> Commit-Queue: Ting Shen <phoenixshen@chromium.org> Tested-by: Ting Shen <phoenixshen@chromium.org>
Diffstat (limited to 'driver/tcpm/rt1718s.c')
-rw-r--r--driver/tcpm/rt1718s.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/driver/tcpm/rt1718s.c b/driver/tcpm/rt1718s.c
index ca5151ba90..0cc3166ccc 100644
--- a/driver/tcpm/rt1718s.c
+++ b/driver/tcpm/rt1718s.c
@@ -304,7 +304,9 @@ static void rt1718s_update_charge_manager(int port,
static enum charge_supplier current_bc12_type = CHARGE_SUPPLIER_NONE;
if (new_bc12_type != current_bc12_type) {
- charge_manager_update_charge(current_bc12_type, port, NULL);
+ if (current_bc12_type != CHARGE_SUPPLIER_NONE)
+ charge_manager_update_charge(current_bc12_type, port,
+ NULL);
if (new_bc12_type != CHARGE_SUPPLIER_NONE) {
struct charge_port_info chg = {