summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/usb_pd_protocol.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/common/usb_pd_protocol.c b/common/usb_pd_protocol.c
index ae70ffb72b..039ef9dc23 100644
--- a/common/usb_pd_protocol.c
+++ b/common/usb_pd_protocol.c
@@ -884,6 +884,13 @@ static int pd_transmit(int port, enum tcpm_transmit_type type,
/* If comms are disabled, do not transmit, return error */
if (!pd_comm_is_enabled(port))
return -1;
+
+ /* Don't try to transmit anything until we have processed
+ * all RX messages.
+ */
+ if (tcpm_has_pending_message(port))
+ return -1;
+
#ifdef CONFIG_USB_PD_REV30
/* Source-coordinated collision avoidance */
/*