diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2005-05-09 18:21:59 -0400 |
---|---|---|
committer | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2005-05-09 18:21:59 -0400 |
commit | 05ab3014636ff60a319d37cdf37dca594b015eec (patch) | |
tree | d9d948a5ecd5e10cd511ebca328df2ef08d5e076 /drivers/serial/vr41xx_siu.c | |
parent | 88d7bd8cb9eb8d64bf7997600b0d64f7834047c5 (diff) |
[PATCH] Serial: Add uart_insert_char()
Add uart_insert_char(), which handles inserting characters into the
flip buffer. This helper function handles the correct semantics
for handling overrun in addition to inserting normal characters.
Signed-off-by: Russell King <rmk@arm.linux.org.uk>
Diffstat (limited to 'drivers/serial/vr41xx_siu.c')
-rw-r--r-- | drivers/serial/vr41xx_siu.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/serial/vr41xx_siu.c b/drivers/serial/vr41xx_siu.c index 307886199f2f..5d2ceb623e6f 100644 --- a/drivers/serial/vr41xx_siu.c +++ b/drivers/serial/vr41xx_siu.c | |||
@@ -412,10 +412,8 @@ static inline void receive_chars(struct uart_port *port, uint8_t *status, | |||
412 | 412 | ||
413 | if (uart_handle_sysrq_char(port, ch, regs)) | 413 | if (uart_handle_sysrq_char(port, ch, regs)) |
414 | goto ignore_char; | 414 | goto ignore_char; |
415 | if ((lsr & port->ignore_status_mask) == 0) | 415 | |
416 | tty_insert_flip_char(tty, ch, flag); | 416 | uart_insert_char(port, lsr, UART_LSR_OE, ch, flag); |
417 | if ((lsr & UART_LSR_OE) && (tty->flip.count < TTY_FLIPBUF_SIZE)) | ||
418 | tty_insert_flip_char(tty, 0, TTY_OVERRUN); | ||
419 | 417 | ||
420 | ignore_char: | 418 | ignore_char: |
421 | lsr = siu_read(port, UART_LSR); | 419 | lsr = siu_read(port, UART_LSR); |