diff options
author | Aseda Aboagye <aaboagye@google.com> | 2018-09-26 17:57:38 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-09-18 20:21:08 +0000 |
commit | 40c69e55dc29c70ed2e36959833b83f01a67483b (patch) | |
tree | 7c3c503666b97faecdc297be42ea1af86de35800 | |
parent | 86a0c5470620179f56d83a21e56c8c4db60bfdcc (diff) | |
download | chrome-ec-40c69e55dc29c70ed2e36959833b83f01a67483b.tar.gz |
usb_pd_protocol: Add a 3ms delay between polling ALERT#.
In order to prevent tasks from being starved and eventually a watchdog reset,
add a short 3ms sleep to give other tasks a chance to run.
BUG=b:115452695,b:140596045
BRANCH=firmware-nocturne-10984.B
TEST=Flash nocturne; plug in hoho on port 0 and blackcat on port 1,
verify that EC does not watchdog reset.
Change-Id: Ia81770e1cf4191205153aa3919290f6a5440ddf2
Signed-off-by: Aseda Aboagye <aaboagye@google.com>
Reviewed-on: https://chromium-review.googlesource.com/1247638
Reviewed-by: Furquan Shaikh <furquan@chromium.org>
Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
Tested-by: Aseda Aboagye <aaboagye@chromium.org>
(cherry picked from commit 720f1078aca231939147e9ed7c8b4ef3bfe84e89)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1811465
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org>
Tested-by: Daisuke Nojiri <dnojiri@chromium.org>
-rw-r--r-- | common/usb_pd_protocol.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/common/usb_pd_protocol.c b/common/usb_pd_protocol.c index ebfadfba66..f96d9468d9 100644 --- a/common/usb_pd_protocol.c +++ b/common/usb_pd_protocol.c @@ -2223,8 +2223,11 @@ void pd_interrupt_handler_task(void *p) * PD_PROCESS_INTERRUPT to check if we missed anything. */ while ((tcpc_get_alert_status() & port_mask) && - pd_is_port_enabled(port)) + pd_is_port_enabled(port)) { tcpc_alert(port); + /* Give other tasks a chance to run. */ + usleep(3*MSEC); + } } } } |