diff options
-rw-r--r-- | firmware/2lib/2api.c | 3 | ||||
-rw-r--r-- | firmware/2lib/2misc.c | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/firmware/2lib/2api.c b/firmware/2lib/2api.c index 0138669d..e1a06230 100644 --- a/firmware/2lib/2api.c +++ b/firmware/2lib/2api.c @@ -291,5 +291,8 @@ int vb2api_check_hash(struct vb2_context *ctx) vb2_signature_data(&pre->body_signature), digest, &wb); + if (rv) + vb2_fail(ctx, VB2_RECOVERY_RO_INVALID_RW, rv); + return rv; } diff --git a/firmware/2lib/2misc.c b/firmware/2lib/2misc.c index 685cf07d..f5571dc6 100644 --- a/firmware/2lib/2misc.c +++ b/firmware/2lib/2misc.c @@ -95,6 +95,7 @@ void vb2_fail(struct vb2_context *ctx, uint8_t reason, uint8_t subcode) * If recovery is already requested, it's a more specific error code * than later code is providing and we shouldn't overwrite it. */ + VB2_DEBUG("Both slots are bad. Need recovery\n"); if (!vb2_nv_get(ctx, VB2_NV_RECOVERY_REQUEST)) { vb2_nv_set(ctx, VB2_NV_RECOVERY_REQUEST, reason); vb2_nv_set(ctx, VB2_NV_RECOVERY_SUBCODE, subcode); |