summaryrefslogtreecommitdiff
path: root/common/usbc/usb_pe_drp_sm.c
diff options
context:
space:
mode:
authorEric Herrmann <eherrmann@chromium.org>2021-03-01 11:35:36 -0800
committerCommit Bot <commit-bot@chromium.org>2021-03-02 23:09:21 +0000
commitb5ea1e1f5d38eff3eae49ebf233324a546870a65 (patch)
tree4190c529f70ffcee90991aa1275cff85b0913d46 /common/usbc/usb_pe_drp_sm.c
parent389952243915fd4a47ea6916395314ef32412078 (diff)
downloadchrome-ec-b5ea1e1f5d38eff3eae49ebf233324a546870a65.tar.gz
TCPMv2: Don't Soft_reset in SNK_SRC_SOURCE_ON
In state PE_PRS_SNK_SRC_SOURCE_ON, we shouldn't soft reset and instead use ErrorRecovery: The Policy Engine Shall transition to the ErrorRecovery state when: - The PS_RDY Message is not sent after retries (a GoodCRC Message has not been received). A soft reset Shall Not be initiated in this case. Add an exception to the protocol error handling to not use Soft Reset. BUG=b:181054403 TEST=Check that we don't use Soft reset by running TD.PD.FRSISNK3.E6 BRANCH=None Signed-off-by: Eric Herrmann <eherrmann@chromium.org> Change-Id: Icc85cf768b19f72aaadfe16c611f735167f4ad5e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2727861 Reviewed-by: Diana Z <dzigterman@chromium.org>
Diffstat (limited to 'common/usbc/usb_pe_drp_sm.c')
-rw-r--r--common/usbc/usb_pe_drp_sm.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/common/usbc/usb_pe_drp_sm.c b/common/usbc/usb_pe_drp_sm.c
index b5f9391ec5..ff42152a2b 100644
--- a/common/usbc/usb_pe_drp_sm.c
+++ b/common/usbc/usb_pe_drp_sm.c
@@ -1144,6 +1144,7 @@ void pe_report_error(int port, enum pe_error e, enum tcpm_transmit_type type)
if ((get_state_pe(port) == PE_SRC_SEND_CAPABILITIES ||
get_state_pe(port) == PE_SRC_TRANSITION_SUPPLY ||
get_state_pe(port) == PE_PRS_SNK_SRC_EVALUATE_SWAP ||
+ get_state_pe(port) == PE_PRS_SNK_SRC_SOURCE_ON ||
get_state_pe(port) == PE_PRS_SRC_SNK_WAIT_SOURCE_ON ||
get_state_pe(port) == PE_SRC_DISABLED ||
get_state_pe(port) == PE_SRC_DISCOVERY ||