From: "J. Neuschäfer" <[email protected]> Interrupts need to be disabled before we jump into the OS, but currently they're already disabled before we load/uncompress the image. This has the inconvenient side effect of taking up a part of the watchdog time budget, which can be rather large when the image is big. Ideally, we want to leave a full watchdog time slice for the OS, so that it has enough time to initialize its own watchdog driver. To ease the pressure, disable interrupts (and with it, a timer interrupt that could service the watchdog) after loading/uncompressing the OS image.
Signed-off-by: J. Neuschäfer <[email protected]> --- boot/bootm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/boot/bootm.c b/boot/bootm.c index 4bdca22ea8c..fa4b53050b7 100644 --- a/boot/bootm.c +++ b/boot/bootm.c @@ -1015,7 +1015,6 @@ int bootm_run_states(struct bootm_info *bmi, int states) /* Load the OS */ if (!ret && (states & BOOTM_STATE_LOADOS)) { - iflag = bootm_disable_interrupts(); ret = bootm_load_os(images, 0); if (ret && ret != BOOTM_ERR_OVERLAP) goto err; @@ -1044,6 +1043,8 @@ int bootm_run_states(struct bootm_info *bmi, int states) } #endif + iflag = bootm_disable_interrupts(); + /* From now on, we need the OS boot function */ if (ret) return ret; --- base-commit: eb95914b9f5886b7ca0eaa2dbcd8a66bb8e5f81a change-id: 20260329-bootm-wdt-c51187618e62 Best regards, -- J. Neuschäfer <[email protected]>

