diff options
-rw-r--r-- | common/usbc/usb_pe_drp_sm.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/common/usbc/usb_pe_drp_sm.c b/common/usbc/usb_pe_drp_sm.c index d0e91e5098..abd5e5bb6b 100644 --- a/common/usbc/usb_pe_drp_sm.c +++ b/common/usbc/usb_pe_drp_sm.c @@ -3069,15 +3069,14 @@ static void pe_prs_snk_src_source_on_entry(int port) static void pe_prs_snk_src_source_on_run(int port) { /* Wait until power supply turns on */ - if (get_time().val < pe[port].ps_source_timer) - return; - - if (pe[port].ps_source_timer != 0) { - /* update pe power role */ - pe[port].power_role = tc_get_power_role(port); - prl_send_ctrl_msg(port, TCPC_TX_SOP, PD_CTRL_PS_RDY); - /* reset timer so PD_CTRL_PS_RDY isn't sent again */ - pe[port].ps_source_timer = TIMER_DISABLED; + if (pe[port].ps_source_timer != TIMER_DISABLED) { + if (get_time().val >= pe[port].ps_source_timer) { + /* update pe power role */ + pe[port].power_role = tc_get_power_role(port); + prl_send_ctrl_msg(port, TCPC_TX_SOP, PD_CTRL_PS_RDY); + /* reset timer so PD_CTRL_PS_RDY isn't sent again */ + pe[port].ps_source_timer = TIMER_DISABLED; + } } /* |