summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/usbc/usb_pe_drp_sm.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/common/usbc/usb_pe_drp_sm.c b/common/usbc/usb_pe_drp_sm.c
index 5a3fa20d43..1bc1eeeb60 100644
--- a/common/usbc/usb_pe_drp_sm.c
+++ b/common/usbc/usb_pe_drp_sm.c
@@ -4585,6 +4585,13 @@ static void pe_init_vdm_svids_request_run(int port)
"0x%04x",
port, rx_emsg[port].header, payload[0]);
}
+ } else if (sop == pe[port].tx_type && ext == 0 && cnt == 0 &&
+ type == PD_CTRL_NOT_SUPPORTED) {
+ /*
+ * A NAK would be more expected here, but Not Supported is still
+ * allowed with the same meaning.
+ */
+ pd_set_svids_discovery(port, sop, PD_DISC_FAIL);
} else {
/*
* Unexpected Message Received. Src.Ready or Snk.Ready can
@@ -4710,6 +4717,13 @@ static void pe_init_vdm_modes_request_run(int port)
port, rx_emsg[port].header,
payload[0]);
}
+ } else if (sop == pe[port].tx_type && ext == 0 && cnt == 0 &&
+ type == PD_CTRL_NOT_SUPPORTED) {
+ /*
+ * A NAK would be more expected here, but Not Supported is still
+ * allowed with the same meaning.
+ */
+ pd_set_svids_discovery(port, sop, PD_DISC_FAIL);
} else {
/*
* Unexpected Message Received. Src.Ready or Snk.Ready can