Dear Stefan Roese, In message <[email protected]> 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 <[email protected]> > --- > 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: [email protected] 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 _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

