cp/cmp: Add WATCHDOG_RESET in copy and compare loop
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>
This commit is contained in:
parent
c91d456c05
commit
eaadb44edf
@ -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 % (64 << 10)) == 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 % (64 << 10)) == 0)
|
||||
WATCHDOG_RESET();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user