diff options
Diffstat (limited to 'drivers/serial/serial_ixp.c')
| -rw-r--r-- | drivers/serial/serial_ixp.c | 7 | 
1 files changed, 5 insertions, 2 deletions
| diff --git a/drivers/serial/serial_ixp.c b/drivers/serial/serial_ixp.c index dd26af49b..a9acd476c 100644 --- a/drivers/serial/serial_ixp.c +++ b/drivers/serial/serial_ixp.c @@ -30,6 +30,7 @@  #include <common.h>  #include <asm/arch/ixp425.h> +#include <watchdog.h>  /*   *               14.7456 MHz @@ -85,7 +86,8 @@ int serial_init (void)  void serial_putc (const char c)  {  	/* wait for room in the tx FIFO on UART */ -	while ((LSR(CONFIG_SYS_IXP425_CONSOLE) & LSR_TEMT) == 0); +	while ((LSR(CONFIG_SYS_IXP425_CONSOLE) & LSR_TEMT) == 0) +		WATCHDOG_RESET();	/* Reset HW Watchdog, if needed */  	THR(CONFIG_SYS_IXP425_CONSOLE) = c; @@ -111,7 +113,8 @@ int serial_tstc (void)   */  int serial_getc (void)  { -	while (!(LSR(CONFIG_SYS_IXP425_CONSOLE) & LSR_DR)); +	while (!(LSR(CONFIG_SYS_IXP425_CONSOLE) & LSR_DR)) +		WATCHDOG_RESET();	/* Reset HW Watchdog, if needed */  	return (char) RBR(CONFIG_SYS_IXP425_CONSOLE) & 0xff;  } |