summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAseda Aboagye <aaboagye@google.com>2018-09-26 17:57:38 -0700
committerCommit Bot <commit-bot@chromium.org>2019-09-18 20:21:08 +0000
commit40c69e55dc29c70ed2e36959833b83f01a67483b (patch)
tree7c3c503666b97faecdc297be42ea1af86de35800
parent86a0c5470620179f56d83a21e56c8c4db60bfdcc (diff)
downloadchrome-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.c5
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);
+ }
}
}
}