summaryrefslogtreecommitdiff
path: root/common/usbc/usb_pe_drp_sm.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/usbc/usb_pe_drp_sm.c')
-rw-r--r--common/usbc/usb_pe_drp_sm.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/common/usbc/usb_pe_drp_sm.c b/common/usbc/usb_pe_drp_sm.c
index 2dc4649fe3..75e78039a8 100644
--- a/common/usbc/usb_pe_drp_sm.c
+++ b/common/usbc/usb_pe_drp_sm.c
@@ -4315,6 +4315,12 @@ static void pe_prs_src_snk_evaluate_swap_run(int port)
PE_CLR_FLAG(port, PE_FLAGS_ACCEPT);
/*
+ * Clear any pending DPM power role swap request so we
+ * don't trigger a power role swap request back to src
+ * power role.
+ */
+ PE_CLR_DPM_REQUEST(port, DPM_REQUEST_PR_SWAP);
+ /*
* Power Role Swap OK, transition to
* PE_PRS_SRC_SNK_Transition_to_off
*/
@@ -4558,6 +4564,12 @@ static void pe_prs_snk_src_evaluate_swap_run(int port)
PE_CLR_FLAG(port, PE_FLAGS_ACCEPT);
/*
+ * Clear any pending DPM power role swap request so we
+ * don't trigger a power role swap request back to sink
+ * power role.
+ */
+ PE_CLR_DPM_REQUEST(port, DPM_REQUEST_PR_SWAP);
+ /*
* Accept message sent, transition to
* PE_PRS_SNK_SRC_Transition_to_off
*/