diff --git a/avb/libavb_ab/avb_ab_flow.c b/avb/libavb_ab/avb_ab_flow.c index 70b66f52..3a293380 100644 --- a/avb/libavb_ab/avb_ab_flow.c +++ b/avb/libavb_ab/avb_ab_flow.c @@ -367,7 +367,7 @@ AvbABFlowResult avb_ab_flow(AvbABOps* ab_ops, /* ... and decrement tries remaining, if applicable. */ if (!ab_data.slot_info[slot_index_to_boot].successful_boot && ab_data.slot_info[slot_index_to_boot].tries_remaining > 0) { - ab_data.slot_info[slot_index_to_boot].tries_remaining -= 1; + ab_data.slot_info[slot_index_to_boot].tries_remaining = 5; } out: diff --git a/libkernelflinger/slot.c b/libkernelflinger/slot.c index b4836afe..4c020e72 100644 --- a/libkernelflinger/slot.c +++ b/libkernelflinger/slot.c @@ -545,7 +545,7 @@ EFI_STATUS slot_boot(enum boot_target target) if (!get_slot_fallback()) return EFI_SUCCESS; - boot_ctrl.recovery_tries_remaining--; + boot_ctrl.recovery_tries_remaining=5; return write_boot_ctrl(); } @@ -562,7 +562,7 @@ EFI_STATUS slot_boot(enum boot_target target) } if (get_slot_fallback()) - slot->tries_remaining--; + slot->tries_remaining=5; boot_ctrl.recovery_tries_remaining = MAX_RETRIES; return write_boot_ctrl();