diff options
Diffstat (limited to 'drivers/serial/8250.c')
-rw-r--r-- | drivers/serial/8250.c | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c index 0d9358608fdf..3bbf0cc6e53f 100644 --- a/drivers/serial/8250.c +++ b/drivers/serial/8250.c | |||
@@ -1122,18 +1122,9 @@ receive_chars(struct uart_8250_port *up, int *status, struct pt_regs *regs) | |||
1122 | } | 1122 | } |
1123 | if (uart_handle_sysrq_char(&up->port, ch, regs)) | 1123 | if (uart_handle_sysrq_char(&up->port, ch, regs)) |
1124 | goto ignore_char; | 1124 | goto ignore_char; |
1125 | if ((lsr & up->port.ignore_status_mask) == 0) { | 1125 | |
1126 | tty_insert_flip_char(tty, ch, flag); | 1126 | uart_insert_char(&up->port, lsr, UART_LSR_OE, ch, flag); |
1127 | } | 1127 | |
1128 | if ((lsr & UART_LSR_OE) && | ||
1129 | tty->flip.count < TTY_FLIPBUF_SIZE) { | ||
1130 | /* | ||
1131 | * Overrun is special, since it's reported | ||
1132 | * immediately, and doesn't affect the current | ||
1133 | * character. | ||
1134 | */ | ||
1135 | tty_insert_flip_char(tty, 0, TTY_OVERRUN); | ||
1136 | } | ||
1137 | ignore_char: | 1128 | ignore_char: |
1138 | lsr = serial_inp(up, UART_LSR); | 1129 | lsr = serial_inp(up, UART_LSR); |
1139 | } while ((lsr & UART_LSR_DR) && (max_count-- > 0)); | 1130 | } while ((lsr & UART_LSR_DR) && (max_count-- > 0)); |