diff options
author | Diana Z <dzigterman@chromium.org> | 2021-01-27 21:54:04 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-01-29 21:49:39 +0000 |
commit | f4e144b2ff9c5ced820013588da505179eaa10b8 (patch) | |
tree | cd24bf688461460b1f0440fb4fcc5104ae760b85 | |
parent | 56340fe4f539e8ec5f82aedeea0b7ab7cd35b1fd (diff) | |
download | chrome-ec-f4e144b2ff9c5ced820013588da505179eaa10b8.tar.gz |
TCPMv2: Check message discard sending Vconn swap PS_RDY
Incoming messages may cause the PS_RDY message from a Vconn swap to be
discarded. Check for this condition and soft reset using the SOP* of the
incoming message.
BRANCH=None
BUG=b:157228506,b:174726240
TEST=on galtic, verify after reboot phone is able to charge
Signed-off-by: Diana Z <dzigterman@chromium.org>
Change-Id: Ic74d490ab2c1450851b795249f2e57322461ad2b
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2653794
Reviewed-by: Denis Brockus <dbrockus@chromium.org>
-rw-r--r-- | common/usbc/usb_pe_drp_sm.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/common/usbc/usb_pe_drp_sm.c b/common/usbc/usb_pe_drp_sm.c index 72e09e8b68..df2ce018a8 100644 --- a/common/usbc/usb_pe_drp_sm.c +++ b/common/usbc/usb_pe_drp_sm.c @@ -6334,6 +6334,9 @@ static void pe_vcs_send_ps_rdy_swap_run(int port) pe_set_ready_state(port); } + if (pe_check_outgoing_discard(port)) + return; + if (PE_CHK_FLAG(port, PE_FLAGS_PROTOCOL_ERROR)) { PE_CLR_FLAG(port, PE_FLAGS_PROTOCOL_ERROR); /* PS_RDY didn't send, soft reset */ |