[U-Boot] [PATCH] xyz-modem: Fix timeout loop waiting with WATCHDOG

Tom Rini trini at konsulko.com
Sat Sep 16 13:43:12 UTC 2017


On Sat, Sep 16, 2017 at 05:14:31PM +0530, Lokesh Vutla wrote:
> Commit 2c77c0d6524eb ("xyz-modem: Change getc timeout loop waiting")
> fixes the loop delay when using a hw watchdog. But assuming that Watchdog
> kicking is taken care of by getc(). This is not true in case of DM_SERIAL.
> So, kick the watchdog before loop waiting, instead of relying on other
> functions.
> 
> Signed-off-by: Lokesh Vutla <lokeshvutla at ti.com>
> ---
> - This fixes UART boot on AM335x-evm.
> 
>  common/xyzModem.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/common/xyzModem.c b/common/xyzModem.c
> index a0c5dfeece..8c4679473f 100644
> --- a/common/xyzModem.c
> +++ b/common/xyzModem.c
> @@ -26,6 +26,7 @@
>  #include <xyzModem.h>
>  #include <stdarg.h>
>  #include <crc.h>
> +#include <watchdog.h>
>  
>  /* Assumption - run xyzModem protocol over the console port */
>  
> @@ -64,6 +65,7 @@ CYGACC_COMM_IF_GETC_TIMEOUT (char chan, char *c)
>  {
>  
>    ulong now = get_timer(0);
> +  WATCHDOG_RESET();
>    while (!tstc ())
>      {
>        if (get_timer(now) > xyzModem_CHAR_TIMEOUT)

My worry is that other places also assume watchdog petted by getc().
Simon, is there a reason DM_SERIAL isn't doing what was done before?
Thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170916/476f9285/attachment.sig>


More information about the U-Boot mailing list