openwrtv3/target/linux/imx6/patches-4.4/111-serial-imx-fix-polarity-of-RI.patch
Petr Štetiar 26e4fee6e2 imx6: kernel: Backport serial port fixes
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2017-01-15 17:41:14 +01:00

38 lines
1.2 KiB
Diff

From 9a061cea4477f26a1dfcc0a08dc20575016e91df Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
Date: Thu, 24 Mar 2016 14:24:20 +0100
Subject: [PATCH 1/3] serial: imx: fix polarity of RI
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
When in DTE mode, the bit USR2_RIIN is active low. So invert the logic
accordingly.
Fixes: 90ebc4838666 ("serial: imx: repair and complete handshaking")
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
---
drivers/tty/serial/imx.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
index 231e7d5..bfc4555 100644
--- a/drivers/tty/serial/imx.c
+++ b/drivers/tty/serial/imx.c
@@ -797,9 +797,9 @@ static unsigned int imx_get_hwmctrl(struct imx_port *sport)
if (!(usr1 & USR2_DCDIN))
tmp |= TIOCM_CAR;
- /* in DCE mode RIIN is always 0 */
- if (readl(sport->port.membase + USR2) & USR2_RIIN)
- tmp |= TIOCM_RI;
+ if (sport->dte_mode)
+ if (!(readl(sport->port.membase + USR2) & USR2_RIIN))
+ tmp |= TIOCM_RI;
return tmp;
}
--
1.9.1