summaryrefslogtreecommitdiff
path: root/core/riscv-rv32i
diff options
context:
space:
mode:
authorTzung-Bi Shih <tzungbi@chromium.org>2020-06-10 09:25:06 +0800
committerCommit Bot <commit-bot@chromium.org>2020-06-10 10:37:28 +0000
commit808042369ae338d3acfb6867f06cab2907c98cd8 (patch)
tree9e4c094dc2bb4d9b8b40f9a48550037a95f2160f /core/riscv-rv32i
parent78b4b148a225e558b34fdff6098f05560ef6a206 (diff)
downloadchrome-ec-808042369ae338d3acfb6867f06cab2907c98cd8.tar.gz
core/riscv-rv32i: set volatile for in_interrupt
Given that: - in_interrupt is modified in interrupt context. - Some normal task context call in_interrupt_context() and in_soft_interrupt_context(). To safely share the variable, sets it to volatile. BRANCH=none BUG=b:146213943 BUG=b:157521370 BUG=b:156223049 TEST=1. make BOARD=asurada 2. flash_ec --board=asurada --image build/asurada/ec.bin 3. (EC console)> version Signed-off-by: Tzung-Bi Shih <tzungbi@chromium.org> Change-Id: Ibd1bf9556d8376f6f6389a17cc792a6f21227d4f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2237495 Reviewed-by: Eric Yilun Lin <yllin@chromium.org>
Diffstat (limited to 'core/riscv-rv32i')
-rw-r--r--core/riscv-rv32i/task.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/core/riscv-rv32i/task.c b/core/riscv-rv32i/task.c
index e4feb30eb6..f0bc5924dd 100644
--- a/core/riscv-rv32i/task.c
+++ b/core/riscv-rv32i/task.c
@@ -165,7 +165,7 @@ static uint32_t tasks_enabled = BIT(TASK_ID_HOOKS) | BIT(TASK_ID_IDLE);
int start_called; /* Has task swapping started */
/* in interrupt context */
-static int in_interrupt;
+static volatile int in_interrupt;
/* Interrupt number of EC modules */
volatile int ec_int;
/* Interrupt group of EC INTC modules */