diff options
author | Bill Richardson <wfrichar@chromium.org> | 2016-11-04 18:54:07 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2016-11-05 21:03:06 -0700 |
commit | c335895df7b436ff2076a191f9e6310b9ddf4792 (patch) | |
tree | b461d9872b58a9d4171352c81a0cd365ffe1d4b1 | |
parent | cc944ac92a916102ffcfef3aa87b2f7dbbd53edf (diff) | |
download | chrome-ec-c335895df7b436ff2076a191f9e6310b9ddf4792.tar.gz |
Cr50: Let NVMEM take more time and memory
We were getting occasional stack overflow and watchdog timeouts
when clearing NVMEM. Bump up the stack size a bit in the HOOKS
task, and pet the watchdog before invoking the tpm2 init
functions.
BUG=chrome-os-partner:59419
BRANCH=none
TEST=make buildall, manual
Lock the console, then unlock it. This will reboot the EC & AP,
but should never reboot the Cr50.
Before this CL, it did about half the time.
After, it doesn't.
Change-Id: I33adfeb7360bf7d146a55ef16c923a1a0416393d
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/407847
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
-rw-r--r-- | board/cr50/ec.tasklist | 2 | ||||
-rw-r--r-- | common/tpm_registers.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/board/cr50/ec.tasklist b/board/cr50/ec.tasklist index 3d2a4ab1ad..b22bc4e158 100644 --- a/board/cr50/ec.tasklist +++ b/board/cr50/ec.tasklist @@ -17,6 +17,6 @@ * 's' is the stack size in bytes; must be a multiple of 8 */ #define CONFIG_TASK_LIST \ - TASK_ALWAYS(HOOKS, hook_task, NULL, LARGER_TASK_STACK_SIZE) \ + TASK_ALWAYS(HOOKS, hook_task, NULL, CONFIG_STACK_SIZE) \ TASK_NOTEST(TPM, tpm_task, NULL, 8192) \ TASK_ALWAYS(CONSOLE, console_task, NULL, TASK_STACK_SIZE) diff --git a/common/tpm_registers.c b/common/tpm_registers.c index ec424202c0..444ed52e20 100644 --- a/common/tpm_registers.c +++ b/common/tpm_registers.c @@ -533,6 +533,8 @@ static void tpm_init(void) /* Create version string to be read by host */ set_version_string(); + watchdog_reload(); + /* * Make sure NV RAM metadata is initialized, needed to check * manufactured status. This is a speculative call which will have to |