summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Duan <fugang.duan@nxp.com>2018-10-16 07:32:22 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-11-09 08:48:57 -0800
commit397bd9211fe014b347ca8f95a8f4e1017bac1aeb (patch)
treee2a0384924a3bf57abf50bca5726a371b7d2a411
parent61e169ee7683630ee0276dd5dcb5599976757770 (diff)
downloadlinux-397bd9211fe014b347ca8f95a8f4e1017bac1aeb.tar.gz
linux-397bd9211fe014b347ca8f95a8f4e1017bac1aeb.tar.bz2
linux-397bd9211fe014b347ca8f95a8f4e1017bac1aeb.zip
serial: fsl_lpuart: clear parity enable bit when disable parity
Current driver only enable parity enable bit and never clear it when user set the termios. The fix clear the parity enable bit when PARENB flag is not set in termios->c_cflag. Cc: Lukas Wunner <lukas@wunner.de> Signed-off-by: Andy Duan <fugang.duan@nxp.com> Reviewed-by: Fabio Estevam <festevam@gmail.com> Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/tty/serial/fsl_lpuart.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c
index cabae83d43ab..241a48e5052c 100644
--- a/drivers/tty/serial/fsl_lpuart.c
+++ b/drivers/tty/serial/fsl_lpuart.c
@@ -1479,6 +1479,8 @@ lpuart_set_termios(struct uart_port *port, struct ktermios *termios,
else
cr1 &= ~UARTCR1_PT;
}
+ } else {
+ cr1 &= ~UARTCR1_PE;
}
/* ask the core to calculate the divisor */
@@ -1690,6 +1692,8 @@ lpuart32_set_termios(struct uart_port *port, struct ktermios *termios,
else
ctrl &= ~UARTCTRL_PT;
}
+ } else {
+ ctrl &= ~UARTCTRL_PE;
}
/* ask the core to calculate the divisor */