All arches apparently should reset the watchdog in their udelay loop as
noted on the mailing list recently:

  > A comment in flash_status_check() suggests that udelay() is
  > expected to reset the watchdog, but I can't find any architecture
  > where it does.

  If this is missing in other architectures, it should be fixed at the
  root cause, i. e. in udelay() or in the respective support routines.

Signed-off-by: Mike Frysinger <vap...@gentoo.org>
---
 cpu/blackfin/interrupts.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/cpu/blackfin/interrupts.c b/cpu/blackfin/interrupts.c
index bf6fb4b..7ab4cc4 100644
--- a/cpu/blackfin/interrupts.c
+++ b/cpu/blackfin/interrupts.c
@@ -70,6 +70,8 @@ void udelay(unsigned long usec)
        cclk = (CONFIG_CCLK_HZ);
 
        while (usec > 1) {
+               WATCHDOG_RESET();
+
                /*
                 * how many clock ticks to delay?
                 *  - request(in useconds) * clock_ticks(Hz) / useconds/second
-- 
1.6.5.rc2

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to