diff --git a/common/usb_pd_protocol.c b/common/usb_pd_protocol.c index a160e61a11..7073064c2d 100644 --- a/common/usb_pd_protocol.c +++ b/common/usb_pd_protocol.c @@ -2056,12 +2056,14 @@ void pd_task(void) * timeout value to wake up on the next state timeout. */ now = get_time(); - if (pd[port].timeout && now.val >= pd[port].timeout) { - set_state(port, pd[port].timeout_state); - /* On a state timeout, run next state soon */ - timeout = timeout < 10*MSEC ? timeout : 10*MSEC; - } else if (pd[port].timeout - now.val < timeout) { - timeout = pd[port].timeout - now.val; + if (pd[port].timeout) { + if (now.val >= pd[port].timeout) { + set_state(port, pd[port].timeout_state); + /* On a state timeout, run next state soon */ + timeout = timeout < 10*MSEC ? timeout : 10*MSEC; + } else if (pd[port].timeout - now.val < timeout) { + timeout = pd[port].timeout - now.val; + } } /* Check for disconnection */