Comment 2 for bug 1458866

Revision history for this message
Paolo Pisati (p-pisati) wrote :

Watchdog handling in uboot is really fragile and I had to hack the uboot src code to get this, but here it is:

as soon as you are back to the command prompt, uboot keeps calling watchdog_reset() in the polling loop to read a character from the serial line, making the watchdog useless - if we want to fix this scenario we need to hack the source code and make WATCHDOG_RESET() a NULL function, this way we create a sort of 'one way' mode - once you start uboot, either you get to the point of loading the kernel or the board reset itself - bear in mind that in this case, as soon as you get back to the serial prompt you have 60secs before the board reboot itself, so forget any manual work with this bootloader.

I'm engaging upstream to see if we can get this logic to work in a clean way.

On the other hand i hit another critical scenario when the boot prompts says "must RESET the board to recover", well, in this case the board was trying to boot the new kernel and failed, but the hardware was modified in way that the watchdog is ineffective and the board will never reboot (and the plug needs to be physically pulled).