diff options
author | Denis Brockus <dbrockus@chromium.org> | 2019-10-15 06:53:06 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-10-16 08:42:17 +0000 |
commit | 2dd2eecaa743a65d8369c7799bbc1450b0d91d0e (patch) | |
tree | 9271744f71b15711695eeece9ea92aaa52807755 | |
parent | 5bcfbb8956b19b327eb314cc921e6877be295a2b (diff) | |
download | chrome-ec-2dd2eecaa743a65d8369c7799bbc1450b0d91d0e.tar.gz |
pd: fix timer issue on pe_prs_snk_src_source_on_run
BUG=none
BRANCH=none
TEST=make buildall -j
Change-Id: I12fbeb0a85d45bce8173c0c3831f663f5b618cc8
Signed-off-by: Denis Brockus <dbrockus@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1862621
Reviewed-by: Jett Rink <jettrink@chromium.org>
Reviewed-by: Edward Hill <ecgh@chromium.org>
-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; + } } /* |