FIX: watchdog timeout, while waiting for input
authorJens Scharsig <js_at_ng@scharsoft.de>
Fri, 9 Apr 2010 17:02:38 +0000 (19:02 +0200)
committerWolfgang Denk <wd@denx.de>
Sat, 10 Apr 2010 21:31:31 +0000 (23:31 +0200)
* add WATCHDOG_RESET to !tstc() loops
* prevents watchdog timeout, while waiting for input,
  if CONFIG_BOOT_RETRY_TIME or CONFIG_SHOW_ACTIVITY defined

Signed-off-by: Jens Scharsig <js_at_ng@scharsoft.de>
common/main.c

index 3949a5bb226e8b469529d7d56a068a7ca7a9a6a1..f7e7c1c3269c4e8a356defac590a591e6762cbdd 100644 (file)
@@ -730,6 +730,7 @@ static int cread_line(const char *const prompt, char *buf, unsigned int *len)
                while (!tstc()) {       /* while no incoming data */
                        if (retry_time >= 0 && get_ticks() > endtime)
                                return (-2);    /* timed out */
+                       WATCHDOG_RESET();
                }
 #endif
 
@@ -997,6 +998,7 @@ int readline_into_buffer (const char *const prompt, char * buffer)
                while (!tstc()) {       /* while no incoming data */
                        if (retry_time >= 0 && get_ticks() > endtime)
                                return (-2);    /* timed out */
+                       WATCHDOG_RESET();
                }
 #endif
                WATCHDOG_RESET();               /* Trigger watchdog, if needed */
@@ -1005,6 +1007,7 @@ int readline_into_buffer (const char *const prompt, char * buffer)
                while (!tstc()) {
                        extern void show_activity(int arg);
                        show_activity(0);
+                       WATCHDOG_RESET();
                }
 #endif
                c = getc();