summaryrefslogtreecommitdiff
path: root/common/vboot_hash.c
diff options
context:
space:
mode:
authorShawn Nematbakhsh <shawnn@chromium.org>2016-09-14 15:42:56 -0700
committerchrome-bot <chrome-bot@chromium.org>2016-09-16 21:59:08 -0700
commitfd418235953ed853bbb2093d307679604e539902 (patch)
treeaa2a50afcffb789c5e87c1ef5e163e17470b3da2 /common/vboot_hash.c
parent258bc48bacf948e7f95b98bfc847c3cc0d5f515d (diff)
downloadchrome-ec-fd418235953ed853bbb2093d307679604e539902.tar.gz
flash: Call lock function prior to mapped external read
Mapped read access to external flash may conflict with direct access through SPI commands, so call a chip-level function to lock access prior to doing such reads. BUG=chrome-os-partner:55781 BRANCH=Gru TEST=Verify 'ver' still works fine on kevin, and vboot hashing completes successfully. Change-Id: I009d6d5ee61c83260fb49ad4ee137fa3f4cd625a Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/385165 Tested-by: Mulin Chao <mlchao@nuvoton.com> Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-by: Mulin Chao <mlchao@nuvoton.com> (cherry picked from commit a7f3e3fa376731709f4823a0c1d464b4d1deae14) Reviewed-on: https://chromium-review.googlesource.com/386446 Commit-Ready: Shawn N <shawnn@chromium.org> Tested-by: Shawn N <shawnn@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
Diffstat (limited to 'common/vboot_hash.c')
-rw-r--r--common/vboot_hash.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/common/vboot_hash.c b/common/vboot_hash.c
index 8de7d8931e..136efe942a 100644
--- a/common/vboot_hash.c
+++ b/common/vboot_hash.c
@@ -117,8 +117,10 @@ static void vboot_hash_next_chunk(void)
size = MIN(CHUNK_SIZE, data_size - curr_pos);
#ifdef CONFIG_MAPPED_STORAGE
+ flash_lock_mapped_storage(1);
SHA256_update(&ctx, (const uint8_t *)(CONFIG_MAPPED_STORAGE_BASE +
data_offset + curr_pos), size);
+ flash_lock_mapped_storage(0);
#else
if (read_and_hash_chunk(data_offset + curr_pos, size) != EC_SUCCESS)
return;