diff options
author | Yu-Ping Wu <yupingso@chromium.org> | 2020-03-03 09:42:31 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-03-31 07:15:06 +0000 |
commit | e3f71c97d05f5c659a0c2a2186dc62dd0586407f (patch) | |
tree | dd1658ebb32f324996e05e1c2751266a7b139c50 /firmware/2lib/2auxfw_sync.c | |
parent | bf8c99df0ce9e086e9a48dd89e81d0dd5aa6f1a9 (diff) | |
download | vboot-e3f71c97d05f5c659a0c2a2186dc62dd0586407f.tar.gz |
firmware: Add VB2_TRY() helper macro
Add variadic macro VB2_TRY() to vboot2 APIs, which supports the
following usage:
- VB2_TRY(func_call())
- VB2_TRY(func_call(), ctx, recovery_reason)
and will return the error code if func_call() failed.
Also utilize the macro whenever possible throughout vboot.
BRANCH=none
BUG=chromium:1049032
TEST=make runtests
TEST=emerge-nami coreboot coreboot-utils depthcharge -j
Cq-Depend: chromium:2115423, chromium:2125616, chrome-internal:2817320
Change-Id: Ie5532a8beaa9372fa6fde0a68bda5ecb640087c4
Signed-off-by: Yu-Ping Wu <yupingso@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/2084062
Reviewed-by: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'firmware/2lib/2auxfw_sync.c')
-rw-r--r-- | firmware/2lib/2auxfw_sync.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/firmware/2lib/2auxfw_sync.c b/firmware/2lib/2auxfw_sync.c index ec0c8345..d5182b36 100644 --- a/firmware/2lib/2auxfw_sync.c +++ b/firmware/2lib/2auxfw_sync.c @@ -98,12 +98,9 @@ static vb2_error_t auxfw_sync_check_update(struct vb2_context *ctx, vb2_error_t vb2api_auxfw_sync(struct vb2_context *ctx) { enum vb2_auxfw_update_severity fw_update = VB_AUX_FW_NO_UPDATE; - vb2_error_t rv; /* Check for update severity */ - rv = auxfw_sync_check_update(ctx, &fw_update); - if (rv) - return rv; + VB2_TRY(auxfw_sync_check_update(ctx, &fw_update)); /* If AUX FW update is slow display the wait screen */ if (fw_update == VB_AUX_FW_SLOW_UPDATE) { @@ -114,9 +111,7 @@ vb2_error_t vb2api_auxfw_sync(struct vb2_context *ctx) } if (fw_update > VB_AUX_FW_NO_UPDATE) { - rv = update_auxfw(ctx); - if (rv) - return rv; + VB2_TRY(update_auxfw(ctx)); /* * AUX FW Update is applied successfully. Request EC reboot to * RO, so that the chips that had FW update get reset to a |