diff options
author | Michał Barnaś <mb@semihalf.com> | 2021-07-02 13:33:46 +0200 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-07-19 11:36:07 +0000 |
commit | 4c21b57eb9619cc3dc86d11226917d25f62f1bc8 (patch) | |
tree | 9b1f3574ce8eddcaa450bbb0e95a73c15b181f5f | |
parent | eb9d4b02eaaf0dad3b3ca0b10fcd0734ed3cf524 (diff) | |
download | chrome-ec-4c21b57eb9619cc3dc86d11226917d25f62f1bc8.tar.gz |
pd: Fix missing polarity_rm_dts in some conditions
Some ifs check for CC polarity not taking DTS enums into account.
This can cause that POLARITY_CC1_DTS will be treated as POLARITY_CC2.
BUG=b:192652859
BRANCH=main
TEST=Build firmware for servo_v4p1 and lazor
to check if modified files compile correctly
Change-Id: I230fafbf751c7f28545860c648655630150f7597
Signed-off-by: Michał Barnaś <mb@semihalf.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3001273
Reviewed-by: Brian Nemec <bnemec@chromium.org>
Reviewed-by: Diana Z <dzigterman@chromium.org>
-rw-r--r-- | common/usb_pd_protocol.c | 2 | ||||
-rw-r--r-- | common/usbc/usb_tc_drp_acc_trysrc_sm.c | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/common/usb_pd_protocol.c b/common/usb_pd_protocol.c index 6a72d8e62a..510f0447b4 100644 --- a/common/usb_pd_protocol.c +++ b/common/usb_pd_protocol.c @@ -4824,7 +4824,7 @@ void pd_task(void *u) if (pd[port].power_role == PD_ROLE_SOURCE) { /* Source: detect disconnect by monitoring CC */ tcpm_get_cc(port, &cc1, &cc2); - if (pd[port].polarity) + if (polarity_rm_dts(pd[port].polarity)) cc1 = cc2; if (cc1 == TYPEC_CC_VOLT_OPEN) { set_state(port, PD_STATE_SRC_DISCONNECTED); diff --git a/common/usbc/usb_tc_drp_acc_trysrc_sm.c b/common/usbc/usb_tc_drp_acc_trysrc_sm.c index 0c9fde99a6..5478630243 100644 --- a/common/usbc/usb_tc_drp_acc_trysrc_sm.c +++ b/common/usbc/usb_tc_drp_acc_trysrc_sm.c @@ -2036,7 +2036,7 @@ static void sink_power_sub_states(int port) tcpm_get_cc(port, &cc1, &cc2); - cc = tc[port].polarity ? cc2 : cc1; + cc = polarity_rm_dts(tc[port].polarity) ? cc2 : cc1; if (cc == TYPEC_CC_VOLT_RP_DEF) new_cc_voltage = TYPEC_CC_VOLT_RP_DEF; @@ -3095,7 +3095,7 @@ static void tc_attached_src_run(const int port) /* Check for connection */ tcpm_get_cc(port, &cc1, &cc2); - if (tc[port].polarity) + if (polarity_rm_dts(tc[port].polarity)) cc1 = cc2; if (cc1 == TYPEC_CC_VOLT_OPEN) |