aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/serial/8250.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/serial/8250.c')
-rw-r--r--drivers/serial/8250.c15
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));