summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
Diffstat (limited to 'common')
-rw-r--r--common/usbc/usb_pe_drp_sm.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/common/usbc/usb_pe_drp_sm.c b/common/usbc/usb_pe_drp_sm.c
index e8610f3c75..93e9ff3bb6 100644
--- a/common/usbc/usb_pe_drp_sm.c
+++ b/common/usbc/usb_pe_drp_sm.c
@@ -1780,7 +1780,6 @@ int pd_is_port_partner_dualrole(int port)
static bool port_try_vconn_swap(int port)
{
if (pe[port].vconn_swap_counter < N_VCONN_SWAP_COUNT) {
- pe[port].vconn_swap_counter++;
PE_SET_FLAG(port, PE_FLAGS_VCONN_SWAP_TO_ON);
set_state_pe(port, get_last_state_pe(port));
return true;
@@ -6248,6 +6247,9 @@ static void pe_vcs_send_swap_run(int port)
PE_CHK_FLAG(port, PE_FLAGS_MSG_RECEIVED)) {
PE_CLR_FLAG(port, PE_FLAGS_MSG_RECEIVED);
+ /* Increment once message has successfully sent */
+ pe[port].vconn_swap_counter++;
+
type = PD_HEADER_TYPE(rx_emsg[port].header);
cnt = PD_HEADER_CNT(rx_emsg[port].header);
sop = PD_HEADER_GET_SOP(rx_emsg[port].header);