summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTing Shen <phoenixshen@google.com>2021-09-08 17:01:51 +0800
committerCommit Bot <commit-bot@chromium.org>2021-09-09 04:52:00 +0000
commitd6be5084737e7fd899b44749f1360e8bc40a01a9 (patch)
tree06e295939dd99b8a427a6a005592b9d9d9e2c93a
parentd0af5debe2677498eaa87669d5512e708a574f94 (diff)
downloadchrome-ec-d6be5084737e7fd899b44749f1360e8bc40a01a9.tar.gz
tcpm/rt1718s: fix race condition between tcpc_init and usb_chg task
Two different functions controls the BC12_SNK_FUNC register, one is bc12_init, another one is usb_charger_task. This causes a racing condition happens during EC soft reset: bc12_init resets the BC12_SNK_FUNC register to its initial value when usb_chg task starts bc1.2 detection. To solve this, let usb_chg task has full control of the register. BUG=b:199226158 TEST=bc1.2 detection works after ec soft reset. BRANCH=none Signed-off-by: Ting Shen <phoenixshen@google.com> Change-Id: Ie423e2d9ddad1e1fadb97e1b73b8b5e535121601 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3147512 Reviewed-by: Rong Chang <rongchang@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org> Tested-by: Ting Shen <phoenixshen@chromium.org>
-rw-r--r--driver/tcpm/rt1718s.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/driver/tcpm/rt1718s.c b/driver/tcpm/rt1718s.c
index 0cc3166ccc..9a2f6319c7 100644
--- a/driver/tcpm/rt1718s.c
+++ b/driver/tcpm/rt1718s.c
@@ -176,9 +176,6 @@ static int rt1718s_bc12_init(int port)
/* Disable sink wait vbus */
RETURN_ERROR(rt1718s_set_bc12_sink_wait_vbus(port, false));
- /* Disable bc 1.2 sink function */
- RETURN_ERROR(rt1718s_enable_bc12_sink(port, false));
-
return EC_SUCCESS;
}