From 32d6d05fd0617eaed11942025f75e4904c9962d3 Mon Sep 17 00:00:00 2001 From: Huang Shijie Date: Wed, 18 Jun 2014 14:19:09 +0800 Subject: ENGR00322581-04 serial: imx: fix the software flow control Controls the CTS pin when the CTSC bit is negated. CTS has no function when CTSC is asserted. After The CTS pin is low, it needs to enable CTSC. The patch just fix the issue. Signed-off-by: Fugang Duan --- drivers/tty/serial/imx.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'drivers') diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c index c73c05b33c49..1570934978d7 100644 --- a/drivers/tty/serial/imx.c +++ b/drivers/tty/serial/imx.c @@ -839,11 +839,9 @@ static void imx_set_mctrl(struct uart_port *port, unsigned int mctrl) struct imx_port *sport = (struct imx_port *)port; unsigned long temp; - temp = readl(sport->port.membase + UCR2) & ~UCR2_CTS; - + temp = readl(sport->port.membase + UCR2) & ~(UCR2_CTS | UCR2_CTSC); if (mctrl & TIOCM_RTS) - if (!sport->dma_is_enabled) - temp |= UCR2_CTS; + temp |= UCR2_CTS | UCR2_CTSC; writel(temp, sport->port.membase + UCR2); -- cgit v1.2.3