summaryrefslogtreecommitdiff
path: root/common/usb_pd_protocol.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/usb_pd_protocol.c')
-rw-r--r--common/usb_pd_protocol.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/common/usb_pd_protocol.c b/common/usb_pd_protocol.c
index 3c4106afb8..fa85ac5643 100644
--- a/common/usb_pd_protocol.c
+++ b/common/usb_pd_protocol.c
@@ -302,10 +302,14 @@ static inline void set_state(int port, enum pd_states next_state)
if (next_state == PD_STATE_SRC_DISCONNECTED) {
pd[port].dev_id = 0;
+#ifdef CONFIG_USB_PD_ALT_MODE_DFP
+ pd_exit_mode(port, NULL);
+#else
#ifdef CONFIG_USBC_SS_MUX
board_set_usb_mux(port, TYPEC_MUX_NONE,
pd[port].polarity);
#endif
+#endif
#ifdef CONFIG_USBC_VCONN
pd_set_vconn(port, pd[port].polarity, 0);
#endif
@@ -1559,7 +1563,7 @@ void pd_task(void)
hard_reset_count++;
#endif
- pd_exit_mode(port, payload);
+ pd_exit_mode(port, NULL);
send_hard_reset(port);
/* reset our own state machine */
execute_hard_reset(port);