diff options
author | Ting Shen <phoenixshen@google.com> | 2021-09-08 17:01:51 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-09-09 04:52:00 +0000 |
commit | d6be5084737e7fd899b44749f1360e8bc40a01a9 (patch) | |
tree | 06e295939dd99b8a427a6a005592b9d9d9e2c93a | |
parent | d0af5debe2677498eaa87669d5512e708a574f94 (diff) | |
download | chrome-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.c | 3 |
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; } |