aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/serial
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/serial')
-rw-r--r--drivers/serial/mux.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/serial/mux.c b/drivers/serial/mux.c
index ec57a616788b..6408b9b1561a 100644
--- a/drivers/serial/mux.c
+++ b/drivers/serial/mux.c
@@ -376,8 +376,17 @@ static void mux_poll(unsigned long unused)
376#ifdef CONFIG_SERIAL_MUX_CONSOLE 376#ifdef CONFIG_SERIAL_MUX_CONSOLE
377static void mux_console_write(struct console *co, const char *s, unsigned count) 377static void mux_console_write(struct console *co, const char *s, unsigned count)
378{ 378{
379 while(count--) 379 /* Wait until the FIFO drains. */
380 pdc_iodc_putc(*s++); 380 while(UART_GET_FIFO_CNT(&mux_ports[0].port))
381 udelay(1);
382
383 while(count--) {
384 if(*s == '\n') {
385 UART_PUT_CHAR(&mux_ports[0].port, '\r');
386 }
387 UART_PUT_CHAR(&mux_ports[0].port, *s++);
388 }
389
381} 390}
382 391
383static int mux_console_setup(struct console *co, char *options) 392static int mux_console_setup(struct console *co, char *options)