[U-Boot] [PATCH] cp/cmp: Add WATCHDOG_RESET in copy and compare loop

Wolfgang Denk wd at denx.de
Thu Sep 9 20:25:28 CEST 2010


Dear Stefan Roese,

In message <1283255853-30198-1-git-send-email-sr at denx.de> you wrote:
> On some boards with a very short watchdog timeout, the "cp" and
> "cmp" commands may reset the board. This patch adds some
> watchdog resets inside the loops. Otherwise for example the lwmon5
> board will reset while doing something like this:
> 
> => cp.b fc000000 1000000 100000
> 
> Signed-off-by: Stefan Roese <sr at denx.de>
> ---
>  common/cmd_mem.c |    8 ++++++++
>  1 files changed, 8 insertions(+), 0 deletions(-)
> 
> diff --git a/common/cmd_mem.c b/common/cmd_mem.c
> index 44834ea..c426997 100644
> --- a/common/cmd_mem.c
> +++ b/common/cmd_mem.c
> @@ -337,6 +337,10 @@ int do_mem_cmp (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>  		ngood++;
>  		addr1 += size;
>  		addr2 += size;
> +
> +		/* reset watchdog from time to time */
> +		if ((count % 1000) == 0)
> +			WATCHDOG_RESET();
>  	}
>  
>  	printf("Total of %ld %s%s were the same\n",
> @@ -447,6 +451,10 @@ int do_mem_cp ( cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
>  			*((u_char *)dest) = *((u_char *)addr);
>  		addr += size;
>  		dest += size;
> +
> +		/* reset watchdog from time to time */
> +		if ((count % 1000) == 0)
> +			WATCHDOG_RESET();

1000 seems a bit arbitray to me, and very, very low. Are you sure such
a low value is needed?

I think lwmon5 has some 50 ms trigger period, so I'd expect to see a
_much_ higher value here.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
It [being a Vulcan] means to adopt a philosophy, a way of life  which
is logical and beneficial. We cannot disregard that philosophy merely
for personal gain, no matter how important that gain might be.
	-- Spock, "Journey to Babel", stardate 3842.4


More information about the U-Boot mailing list