serial: imx: Fix DCD reading
The USR2_DCDIN bit is tested for in register usr1. As the name suggests the usr2 register should be used instead. This fixes reading the Carrier detect status. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Fixes: 90ebc4838666 ("serial: imx: repair and complete handshaking") Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Cc: <stable@vger.kernel.org> # 4.5+ Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
b97055bcf1
commit
4b75f80003
@ -763,12 +763,13 @@ static unsigned int imx_get_hwmctrl(struct imx_port *sport)
|
||||
{
|
||||
unsigned int tmp = TIOCM_DSR;
|
||||
unsigned usr1 = readl(sport->port.membase + USR1);
|
||||
unsigned usr2 = readl(sport->port.membase + USR2);
|
||||
|
||||
if (usr1 & USR1_RTSS)
|
||||
tmp |= TIOCM_CTS;
|
||||
|
||||
/* in DCE mode DCDIN is always 0 */
|
||||
if (!(usr1 & USR2_DCDIN))
|
||||
if (!(usr2 & USR2_DCDIN))
|
||||
tmp |= TIOCM_CAR;
|
||||
|
||||
if (sport->dte_mode)
|
||||
|
Loading…
x
Reference in New Issue
Block a user