Le 26/05/2010 20:13, Mike Frysinger : > On Wednesday 26 May 2010 06:34:49 Nicolas Ferre wrote: >> --- a/common/main.c >> +++ b/common/main.c >> @@ -159,6 +159,7 @@ static __inline__ int abortboot(int bootdelay) >> * when catch up. >> */ >> do { >> + WATCHDOG_RESET(); /* Trigger watchdog, if needed */ >> if (tstc()) { >> if (presskey_len < presskey_max) { >> presskey [presskey_len ++] = getc(); >> @@ -251,6 +252,7 @@ static __inline__ int abortboot(int bootdelay) >> # endif >> break; >> } >> + WATCHDOG_RESET(); /* Trigger watchdog, if needed >> */ >> udelay(10000); >> } > > if your udelay() implementation isnt calling WATCHDOG_RESET(), it is broken. > yes, this is undocumented, but search the mailing archives for examples. > > i believe the same goes for serial devices and their tstc() function.
Well, after more checking, it seems that resetting the watchdog in tstc function is not so common: only serial_pl01x.c is doing it. So I guess that my first addition may be needed for other chips... Best regards, -- Nicolas Ferre _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot