diff options
| -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 | ||
