serial: imx: preserve characters with parity or framing errors
authorEric Nelson <eric.nelson@boundarydevices.com>
Thu, 18 Dec 2014 19:37:13 +0000 (12:37 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 9 Jan 2015 22:28:17 +0000 (14:28 -0800)
If IGNPAR/INPCK are clear in termios->c_iflag,  characters
received with parity or framing errors should be preserved
and passed to the upper layers of the tty stack.

Specifically, the decision of whether to set the character
value to zero should be made by n_tty.c/n_tty_receive_parity_error().

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
Reviewed-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/imx.c

index 72b800b296b1830020dabd4ec9626dfe55260b27..6ac22d75a4bbefcfad6cc3ba2d79dc0e88dab9c4 100644 (file)
@@ -733,7 +733,7 @@ static irqreturn_t imx_rxint(int irq, void *dev_id)
                                continue;
                        }
 
-                       rx &= sport->port.read_status_mask;
+                       rx &= (sport->port.read_status_mask | 0xFF);
 
                        if (rx & URXD_BRK)
                                flg = TTY_BREAK;