|
@@ -161,20 +161,12 @@ receive_chars(struct uart_pxa_port *up, int *status, struct pt_regs *regs)
|
|
|
else if (*status & UART_LSR_FE)
|
|
|
flag = TTY_FRAME;
|
|
|
}
|
|
|
+
|
|
|
if (uart_handle_sysrq_char(&up->port, ch, regs))
|
|
|
goto ignore_char;
|
|
|
- if ((*status & up->port.ignore_status_mask) == 0) {
|
|
|
- tty_insert_flip_char(tty, ch, flag);
|
|
|
- }
|
|
|
- if ((*status & UART_LSR_OE) &&
|
|
|
- tty->flip.count < TTY_FLIPBUF_SIZE) {
|
|
|
- /*
|
|
|
- * Overrun is special, since it's reported
|
|
|
- * immediately, and doesn't affect the current
|
|
|
- * character.
|
|
|
- */
|
|
|
- tty_insert_flip_char(tty, 0, TTY_OVERRUN);
|
|
|
- }
|
|
|
+
|
|
|
+ uart_insert_char(&up->port, *status, UART_LSR_OE, ch, flag);
|
|
|
+
|
|
|
ignore_char:
|
|
|
*status = serial_in(up, UART_LSR);
|
|
|
} while ((*status & UART_LSR_DR) && (max_count-- > 0));
|