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

Reply via email to