From: Uwe Kleine-König Date: Thu, 24 Mar 2016 13:24:20 +0000 (+0100) Subject: serial: imx: fix polarity of RI X-Git-Tag: v4.7-rc1~94^2~58 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=e881d3f3fafc849356ecd1e3a2f3bf669476ed2d;p=linux-block.git serial: imx: fix polarity of RI 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 Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c index 66cc3d198dcf..7cfb482bbc5c 100644 --- a/drivers/tty/serial/imx.c +++ b/drivers/tty/serial/imx.c @@ -800,9 +800,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; }