diff options
Diffstat (limited to 'drivers/serial')
-rw-r--r-- | drivers/serial/ns16550.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c index 7e833fde5f..32f24dee50 100644 --- a/drivers/serial/ns16550.c +++ b/drivers/serial/ns16550.c @@ -70,6 +70,15 @@ void NS16550_putc (NS16550_t com_port, char c) { while ((serial_in(&com_port->lsr) & UART_LSR_THRE) == 0); serial_out(c, &com_port->thr); + + /* + * Call watchdog_reset() upon newline. This is done here in putc + * since the environment code uses a single puts() to print the complete + * environment upon "printenv". So we can't put this watchdog call + * in puts(). + */ + if (c == '\n') + WATCHDOG_RESET(); } #ifndef CONFIG_NS16550_MIN_FUNCTIONS |