summaryrefslogtreecommitdiff
path: root/common/usb_pd_policy.c
diff options
context:
space:
mode:
authorAbe Levkoy <alevkoy@chromium.org>2021-05-21 12:24:41 -0600
committerCommit Bot <commit-bot@chromium.org>2021-09-10 19:10:42 +0000
commit761451afd00f4936c46ed7c917194d5183be46d2 (patch)
treeb4fa5377d9787040b24cdf4e6b5e4e496f303054 /common/usb_pd_policy.c
parentd398a53a858d6f946e6a35cd06736033bce19094 (diff)
downloadchrome-ec-761451afd00f4936c46ed7c917194d5183be46d2.tar.gz
TCPMv2: Separate discovery and mode init
Don't clear discovery data when resetting active modes during mode exit. BUG=b:141363146 TEST=make buildall BRANCH=firmware-volteer-13672.B-main Signed-off-by: Abe Levkoy <alevkoy@chromium.org> Change-Id: I8052641bb850ce8486eb9c82641b41880cb97d65 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3123837 Reviewed-by: Diana Z <dzigterman@chromium.org>
Diffstat (limited to 'common/usb_pd_policy.c')
-rw-r--r--common/usb_pd_policy.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/common/usb_pd_policy.c b/common/usb_pd_policy.c
index 959feb4728..08827abe21 100644
--- a/common/usb_pd_policy.c
+++ b/common/usb_pd_policy.c
@@ -354,6 +354,10 @@ static bool is_cable_ready_to_enter_usb4(int port, int cnt)
void pd_dfp_discovery_init(int port)
{
memset(&discovery[port], 0, sizeof(struct pd_discovery));
+}
+
+void pd_dfp_mode_init(int port)
+{
memset(&partner_amodes[port], 0, sizeof(partner_amodes[0]));
}
@@ -428,6 +432,7 @@ static int process_am_discover_ident_sop(int port, int cnt, uint32_t head,
enum tcpci_msg_type *rtype)
{
pd_dfp_discovery_init(port);
+ pd_dfp_mode_init(port);
dfp_consume_identity(port, TCPCI_MSG_SOP, cnt, payload);
if (IS_ENABLED(CONFIG_USB_PD_DECODE_SOP) && is_sop_prime_ready(port) &&