diff options
Diffstat (limited to 'common/usbc/usb_pe_drp_sm.c')
-rw-r--r-- | common/usbc/usb_pe_drp_sm.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/common/usbc/usb_pe_drp_sm.c b/common/usbc/usb_pe_drp_sm.c index 1560eee817..5a3fa20d43 100644 --- a/common/usbc/usb_pe_drp_sm.c +++ b/common/usbc/usb_pe_drp_sm.c @@ -1310,6 +1310,12 @@ static bool pe_attempt_port_discovery(int port) pe[port].tx_type = TCPC_TX_SOP_PRIME; set_state_pe(port, PE_INIT_VDM_SVIDS_REQUEST); return true; + } else if (pd_get_modes_discovery(port, TCPC_TX_SOP_PRIME) == + PD_DISC_NEEDED && + pe_can_send_sop_prime(port)) { + pe[port].tx_type = TCPC_TX_SOP_PRIME; + set_state_pe(port, PE_INIT_VDM_MODES_REQUEST); + return true; /* * Note: determine if next VDM can be sent by taking advantage * of discovery following the VDM command enum ordering. |