summaryrefslogtreecommitdiff
path: root/chip
diff options
context:
space:
mode:
authorEdward Hill <ecgh@chromium.org>2020-08-14 15:33:09 -0600
committerCommit Bot <commit-bot@chromium.org>2020-08-15 01:47:31 +0000
commit55554e281b65e4ca780bc1dfee28c2599e781efc (patch)
treea11b86da0b53206af0a6e98e3adffc340a764929 /chip
parent29ad5a3e08fef053ffe8d56d004d868a8794481a (diff)
downloadchrome-ec-55554e281b65e4ca780bc1dfee28c2599e781efc.tar.gz
task: Change mutex_lock() assert
Instead of asserting that task_start() has not been called, just return without doing any locking. This avoids the need to fix every caller of mutex_lock() to check task_start_called(). BUG=b:164461158 BRANCH=none TEST=Esc+F3+Power enters recovery, does not assert. Signed-off-by: Edward Hill <ecgh@chromium.org> Change-Id: Ic157d7e7041185a67f257f0f5710fd02e45cd77f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2357496 Reviewed-by: Wai-Hong Tam <waihong@google.com> Tested-by: Wai-Hong Tam <waihong@google.com> Commit-Queue: Wai-Hong Tam <waihong@google.com>
Diffstat (limited to 'chip')
-rw-r--r--chip/npcx/flash.c4
-rw-r--r--chip/stm32/bkpdata.c10
2 files changed, 3 insertions, 11 deletions
diff --git a/chip/npcx/flash.c b/chip/npcx/flash.c
index b2b51d15df..7afb413c2c 100644
--- a/chip/npcx/flash.c
+++ b/chip/npcx/flash.c
@@ -726,10 +726,6 @@ int flash_pre_init(void)
void flash_lock_mapped_storage(int lock)
{
- /* Must not call mutex_lock() before task_start(). */
- if (!task_start_called())
- return;
-
if (lock)
mutex_lock(&flash_lock);
else
diff --git a/chip/stm32/bkpdata.c b/chip/stm32/bkpdata.c
index c31c1a9185..2b26ace7ea 100644
--- a/chip/stm32/bkpdata.c
+++ b/chip/stm32/bkpdata.c
@@ -23,7 +23,6 @@ uint16_t bkpdata_read(enum bkpdata_index index)
int bkpdata_write(enum bkpdata_index index, uint16_t value)
{
- int use_mutex = task_start_called();
static struct mutex bkpdata_write_mutex;
if (index < 0 || index >= STM32_BKP_ENTRIES)
@@ -31,11 +30,9 @@ int bkpdata_write(enum bkpdata_index index, uint16_t value)
/*
* Two entries share a single 32-bit register, lock mutex to prevent
- * read/mask/write races. Must not call mutex_lock() before
- * task_start().
+ * read/mask/write races.
*/
- if (use_mutex)
- mutex_lock(&bkpdata_write_mutex);
+ mutex_lock(&bkpdata_write_mutex);
if (index & 1) {
uint32_t val = STM32_BKP_DATA(index >> 1);
val = (val & 0x0000FFFF) | (value << 16);
@@ -45,8 +42,7 @@ int bkpdata_write(enum bkpdata_index index, uint16_t value)
val = (val & 0xFFFF0000) | value;
STM32_BKP_DATA(index >> 1) = val;
}
- if (use_mutex)
- mutex_unlock(&bkpdata_write_mutex);
+ mutex_unlock(&bkpdata_write_mutex);
return EC_SUCCESS;
}