diff options
author | Till Straumann <strauman@slac.stanford.edu> | 2008-03-21 18:48:49 +0000 |
---|---|---|
committer | Till Straumann <strauman@slac.stanford.edu> | 2008-03-21 18:48:49 +0000 |
commit | 2cedc4608e75662e341c697d6cf64e5da6945b46 (patch) | |
tree | f1eaafb4676ee48c9b372d7bdf7572fb997994d0 /c/src/lib/libbsp/powerpc/shared/console/uart.c | |
parent | 2008-03-20 Till Straumann <strauman@slac.stanford.edu> (diff) | |
download | rtems-2cedc4608e75662e341c697d6cf64e5da6945b46.tar.bz2 |
2008-03-21 Till Straumann <strauman@slac.stanford.edu>
* shared/console/uart.c: In IRQ driven mode also
keep reading chars while they are available (fifo
could be enabled).
Diffstat (limited to '')
-rw-r--r-- | c/src/lib/libbsp/powerpc/shared/console/uart.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/powerpc/shared/console/uart.c b/c/src/lib/libbsp/powerpc/shared/console/uart.c index 9823e446e9..ea47aa8313 100644 --- a/c/src/lib/libbsp/powerpc/shared/console/uart.c +++ b/c/src/lib/libbsp/powerpc/shared/console/uart.c @@ -725,7 +725,6 @@ BSP_uart_termios_isr_com(int uart) break; case RECEIVER_DATA_AVAIL : case CHARACTER_TIMEOUT_INDICATION: - if ( uart_data[uart].ioMode == TERMIOS_TASK_DRIVEN ) { /* ensure interrupts are enabled */ @@ -741,7 +740,8 @@ BSP_uart_termios_isr_com(int uart) { /* RX data ready */ assert(off < sizeof(buf)); - buf[off++] = uread(uart, RBR); + while ( off < sizeof(buf) && ( DR & uread(uart, LSR) ) ) + buf[off++] = uread(uart, RBR); } break; case RECEIVER_ERROR: |