summaryrefslogtreecommitdiff
path: root/common/usbc/usb_pe_drp_sm.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/usbc/usb_pe_drp_sm.c')
-rw-r--r--common/usbc/usb_pe_drp_sm.c17
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;
+ }
}
/*