diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/serial/mpc52xx_uart.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/serial/mpc52xx_uart.c b/drivers/serial/mpc52xx_uart.c index 28c00c3d58f5..d82650d54391 100644 --- a/drivers/serial/mpc52xx_uart.c +++ b/drivers/serial/mpc52xx_uart.c | |||
@@ -752,10 +752,15 @@ mpc52xx_uart_int_rx_chars(struct uart_port *port) | |||
752 | if (status & MPC52xx_PSC_SR_RB) { | 752 | if (status & MPC52xx_PSC_SR_RB) { |
753 | flag = TTY_BREAK; | 753 | flag = TTY_BREAK; |
754 | uart_handle_break(port); | 754 | uart_handle_break(port); |
755 | } else if (status & MPC52xx_PSC_SR_PE) | 755 | port->icount.brk++; |
756 | } else if (status & MPC52xx_PSC_SR_PE) { | ||
756 | flag = TTY_PARITY; | 757 | flag = TTY_PARITY; |
757 | else if (status & MPC52xx_PSC_SR_FE) | 758 | port->icount.parity++; |
759 | } | ||
760 | else if (status & MPC52xx_PSC_SR_FE) { | ||
758 | flag = TTY_FRAME; | 761 | flag = TTY_FRAME; |
762 | port->icount.frame++; | ||
763 | } | ||
759 | 764 | ||
760 | /* Clear error condition */ | 765 | /* Clear error condition */ |
761 | out_8(&PSC(port)->command, MPC52xx_PSC_RST_ERR_STAT); | 766 | out_8(&PSC(port)->command, MPC52xx_PSC_RST_ERR_STAT); |
@@ -769,6 +774,7 @@ mpc52xx_uart_int_rx_chars(struct uart_port *port) | |||
769 | * affect the current character | 774 | * affect the current character |
770 | */ | 775 | */ |
771 | tty_insert_flip_char(tty, 0, TTY_OVERRUN); | 776 | tty_insert_flip_char(tty, 0, TTY_OVERRUN); |
777 | port->icount.overrun++; | ||
772 | } | 778 | } |
773 | } | 779 | } |
774 | 780 | ||