Commit 397bd921 authored by Andy Duan's avatar Andy Duan Committed by Greg Kroah-Hartman

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: default avatarAndy Duan <fugang.duan@nxp.com>
Reviewed-by: default avatarFabio Estevam <festevam@gmail.com>
Acked-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 61e169ee
...@@ -1479,6 +1479,8 @@ lpuart_set_termios(struct uart_port *port, struct ktermios *termios, ...@@ -1479,6 +1479,8 @@ lpuart_set_termios(struct uart_port *port, struct ktermios *termios,
else else
cr1 &= ~UARTCR1_PT; cr1 &= ~UARTCR1_PT;
} }
} else {
cr1 &= ~UARTCR1_PE;
} }
/* ask the core to calculate the divisor */ /* ask the core to calculate the divisor */
...@@ -1690,6 +1692,8 @@ lpuart32_set_termios(struct uart_port *port, struct ktermios *termios, ...@@ -1690,6 +1692,8 @@ lpuart32_set_termios(struct uart_port *port, struct ktermios *termios,
else else
ctrl &= ~UARTCTRL_PT; ctrl &= ~UARTCTRL_PT;
} }
} else {
ctrl &= ~UARTCTRL_PE;
} }
/* ask the core to calculate the divisor */ /* ask the core to calculate the divisor */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment