[PATCH 1/2] bootstd: rauc: no valid slot fallback: fix info msg to reflect real flow
Martin Schwan
M.Schwan at phytec.de
Thu Oct 2 09:08:59 CEST 2025
Thanks for the fixes!
Reviewed-by: Martin Schwan <m.schwan at phytec.de>
On Thu, 2025-10-02 at 01:22 +0200, Andreas Pretzsch wrote:
> If there is no more active slot found in find_active_slot(), like
> when
> all slots in BOOT_ORDER have a count of 0, the counters are reset to
> their
> default value CONFIG_BOOTMETH_RAUC_DEFAULT_TRIES. The BOOT_ORDER is
> _not_
> changed, which is logically correct (especially for the case when
> there is
> only one (active) slot set, e.g. BOOT_ORDER only contains 'B',
> probably due
> to RAUC option prevent-late-fallback being set). Resetting the
> counters of
> inactive slots also does not harm here, and is fine as a generic
> solution.
>
> But the log_info statement in this scenario
> INFO: Resetting boot order and all slot tries
> is incorrect. Change this to
> INFO: Resetting all slot tries to 3
> with the 3 being inserted by CONFIG_BOOTMETH_RAUC_DEFAULT_TRIES.
>
> Signed-off-by: Andreas Pretzsch <apr at cn-eng.de>
> ---
> boot/bootmeth_rauc.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/boot/bootmeth_rauc.c b/boot/bootmeth_rauc.c
> index 81a73046e83..f5d5a971e87 100644
> --- a/boot/bootmeth_rauc.c
> +++ b/boot/bootmeth_rauc.c
> @@ -18,6 +18,7 @@
> #include <malloc.h>
> #include <mapmem.h>
> #include <string.h>
> +#include <linux/stringify.h>
> #include <asm/cache.h>
>
> /* Length of env var "BOOT_*_LEFT" */
> @@ -304,7 +305,7 @@ static int find_active_slot(char **slot_name,
> ulong *slot_tries)
> if (!slot_found) {
> if
> (IS_ENABLED(CONFIG_BOOTMETH_RAUC_RESET_ALL_ZERO_TRIES)) {
> log_warning("WARNING: No valid slot
> found\n");
> - log_info("INFO: Resetting boot order and all
> slot tries\n");
> + log_info("INFO: Resetting all slot tries to
> " __stringify(CONFIG_BOOTMETH_RAUC_DEFAULT_TRIES) "\n");
> boot_order_list =
> str_to_list(CONFIG_BOOTMETH_RAUC_BOOT_ORDER);
> for (i = 0; boot_order_list[i]; i++) {
> sprintf(boot_left, "BOOT_%s_LEFT",
> boot_order_list[i]);
More information about the U-Boot
mailing list