summaryrefslogtreecommitdiff
path: root/firmware/2lib/2auxfw_sync.c
diff options
context:
space:
mode:
authorYu-Ping Wu <yupingso@chromium.org>2020-03-03 09:42:31 +0800
committerCommit Bot <commit-bot@chromium.org>2020-03-31 07:15:06 +0000
commite3f71c97d05f5c659a0c2a2186dc62dd0586407f (patch)
treedd1658ebb32f324996e05e1c2751266a7b139c50 /firmware/2lib/2auxfw_sync.c
parentbf8c99df0ce9e086e9a48dd89e81d0dd5aa6f1a9 (diff)
downloadvboot-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.c9
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