Subject: [PATCH] mpc52xx_uart: report serial errors to users

From: René Bürgel <[email-masked]>
Date: Thu, 30 Oct 2008 07:14:07 +0100

Hi! This patch adds the capability to the mpc52xx-uart to report framing 
errors, parity errors, breaks and overruns to userspace. These values 
may be requested in userspace by using the ioctl TIOCGICOUNT.

Signed-off-by: René Bürgel <[email-masked]>

Kind regards, René Bürgel

-- 
René Bürgel
Software Engineer
Unicontrol Systemtechnik GmbH
OT Dittersbach
Sachsenburger Weg 34
09669 Frankenberg
 
Tel.: 03 72 06/ 88 73 - 19
Fax: 03 72 06/ 88 73 - 60
E-Mail: [email-masked]
Internet: www.unicontrol.de

--- drivers/serial/mpc52xx_uart.c	2008-08-07 15:55:43.000000000 +0200
+++ drivers/serial/mpc52xx_uart_orig.c	2008-09-11 13:19:12.000000000 +0200
@@ -752,10 +752,17 @@
 			if (status & MPC52xx_PSC_SR_RB) {
 				flag = TTY_BREAK;
 				uart_handle_break(port);
+				port->icount.brk++;
 			} else if (status & MPC52xx_PSC_SR_PE)
+			{
 				flag = TTY_PARITY;
+				port->icount.parity++;
+			}
 			else if (status & MPC52xx_PSC_SR_FE)
+			{
 				flag = TTY_FRAME;
+				port->icount.frame++;
+			}
 
 			/* Clear error condition */
 			out_8(&PSC(port)->command, MPC52xx_PSC_RST_ERR_STAT);
@@ -769,6 +776,7 @@
 			 * affect the current character
 			 */
 			tty_insert_flip_char(tty, 0, TTY_OVERRUN);
+			port->icount.overrun++;
 		}
 	}