public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] cp/cmp: Add WATCHDOG_RESET in copy and compare loop
@ 2010-08-31 11:57 Stefan Roese
  2010-08-31 13:18 ` Mike Frysinger
  2010-09-09 18:25 ` Wolfgang Denk
  0 siblings, 2 replies; 4+ messages in thread
From: Stefan Roese @ 2010-08-31 11:57 UTC (permalink / raw)
  To: u-boot

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@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();
 	}
 	return 0;
 }
-- 
1.7.2.2

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-09-09 18:25 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-31 11:57 [U-Boot] [PATCH] cp/cmp: Add WATCHDOG_RESET in copy and compare loop Stefan Roese
2010-08-31 13:18 ` Mike Frysinger
2010-08-31 13:26   ` Stefan Roese
2010-09-09 18:25 ` Wolfgang Denk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox