diff options
-rw-r--r-- | common/usb_pd_protocol.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/common/usb_pd_protocol.c b/common/usb_pd_protocol.c index e14e0547f4..71c85f5ecd 100644 --- a/common/usb_pd_protocol.c +++ b/common/usb_pd_protocol.c @@ -2687,6 +2687,15 @@ void pd_task(void *u) this_state = PD_STATE_SOFT_RESET; /* + * Re-discover any alternate modes we may have been + * using with this port partner. Note this may not work + * in all scenarios if the port partner was expecting an + * ExitMode before reset, but it does improve how often + * alternate modes can work after reset. + */ + pd[port].flags |= PD_FLAGS_CHECK_IDENTITY; + + /* * Set the TCPC reset event such that we can set our CC * terminations, determine polarity, and enable RX so we * can hear back from our port partner. |