diff options
author | Julius Werner <jwerner@chromium.org> | 2021-07-30 15:00:59 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-08-13 13:15:08 +0000 |
commit | 84126cca1c608d406f1bfae1d9d5fc1b7b01785a (patch) | |
tree | 9226f9e7d3d9d4f393561b04ff2aefd64bbf31b9 | |
parent | f4c7f8b5ea4a94e092df9c75e701362ef272e82e (diff) | |
download | vboot-84126cca1c608d406f1bfae1d9d5fc1b7b01785a.tar.gz |
2nvstorage: Clear FIRMWARE_SETTINGS_RESET flag on a clean boot
The FIRMWARE_SETTINGS_RESET flag was intended to show when nvdata was
forcibly reset due to CRC failures. However, in practice it is useless
because it never gets cleared again and just stays set forever. This
patch fixes that by clearing it on every normal boot (i.e. a boot where
the existing nvdata was valid and didn't need to be reset).
BRANCH=None
BUG=None
TEST=Booted CoachZ, confirmed flag got cleared.
Signed-off-by: Julius Werner <jwerner@chromium.org>
Change-Id: I8c88ea134bf92ccb5f1d9a710d86c5ec5198def8
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/3063692
Reviewed-by: Yu-Ping Wu <yupingso@chromium.org>
Tested-by: Yu-Ping Wu <yupingso@chromium.org>
Commit-Queue: Yu-Ping Wu <yupingso@chromium.org>
-rw-r--r-- | firmware/2lib/2nvstorage.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/firmware/2lib/2nvstorage.c b/firmware/2lib/2nvstorage.c index 0f28404b..4fd9808a 100644 --- a/firmware/2lib/2nvstorage.c +++ b/firmware/2lib/2nvstorage.c @@ -80,6 +80,11 @@ void vb2_nv_init(struct vb2_context *ctx) sd->status |= VB2_SD_STATUS_NV_REINIT; /* TODO: unit test for status flag being set */ + } else { +#ifndef CHROMEOS_ENVIRONMENT + /* Always clear this on first reboot that didn't need reinit. */ + vb2_nv_set(ctx, VB2_NV_FIRMWARE_SETTINGS_RESET, 0); +#endif } sd->status |= VB2_SD_STATUS_NV_INIT; |