summaryrefslogtreecommitdiff
path: root/common/ap_ro_integrity_check.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/ap_ro_integrity_check.c')
-rw-r--r--common/ap_ro_integrity_check.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/common/ap_ro_integrity_check.c b/common/ap_ro_integrity_check.c
index 14fdb0f876..939a618c64 100644
--- a/common/ap_ro_integrity_check.c
+++ b/common/ap_ro_integrity_check.c
@@ -1447,21 +1447,24 @@ static uint8_t do_ap_ro_check(void)
if (rv != ROV_SUCCEEDED) {
/* Failure reason has already been reported. */
- apro_result = AP_RO_FAIL;
ap_ro_add_flash_event(APROF_CHECK_FAILED);
- /*
- * Map failures into EC_ERROR_CRC, this will make sure that in
- * case this was invoked by the operator keypress, the device
- * will not continue booting.
- *
- * Both explicit failure to verify OR any error if cached
- * descriptor was found should block the booting.
- */
if ((rv == ROV_FAILED) || check_is_required()) {
+ apro_result = AP_RO_FAIL;
keep_ec_in_reset();
+ /*
+ * Map failures into EC_ERROR_CRC, this will make sure
+ * that in case this was invoked by the operator
+ * keypress, the device will not continue booting.
+ *
+ * Both explicit failure to verify OR any error if
+ * cached descriptor was found should block the
+ * booting.
+ */
return EC_ERROR_CRC;
}
+
+ apro_result = AP_RO_UNSUPPORTED_TRIGGERED;
return EC_ERROR_UNIMPLEMENTED;
}