summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/usbc/usb_tc_drp_acc_trysrc_sm.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/common/usbc/usb_tc_drp_acc_trysrc_sm.c b/common/usbc/usb_tc_drp_acc_trysrc_sm.c
index 37eeffeb23..b0c321b27a 100644
--- a/common/usbc/usb_tc_drp_acc_trysrc_sm.c
+++ b/common/usbc/usb_tc_drp_acc_trysrc_sm.c
@@ -710,10 +710,13 @@ void tc_hard_reset_request(int port)
*/
void tc_hard_reset_allow_unattach(int port)
{
- TC_CLR_FLAG(port, TC_FLAGS_HARD_RESET_NO_UNATTACH);
+ /* Only deal with HardReset if we are currently doing HardReset */
+ if (TC_CHK_FLAG(port, TC_FLAGS_HARD_RESET_NO_UNATTACH)) {
+ TC_CLR_FLAG(port, TC_FLAGS_HARD_RESET_NO_UNATTACH);
- /* Enable AutoDischargeDisconnect */
- tcpm_enable_auto_discharge_disconnect(port, 1);
+ /* Enable AutoDischargeDisconnect */
+ tcpm_enable_auto_discharge_disconnect(port, 1);
+ }
}
void tc_disc_ident_in_progress(int port)