There is nothing which clears the auto RTS/CTS bits, so once hardware
flow control gets enabled, there's no possibility to disable it.
So, clear these bits when CRTSCTS is cleared.

Signed-off-by: Russell King <rmk+ker...@arm.linux.org.uk>
---
 drivers/tty/serial/omap-serial.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/drivers/tty/serial/omap-serial.c b/drivers/tty/serial/omap-serial.c
index 654dd78..f2535fe 100644
--- a/drivers/tty/serial/omap-serial.c
+++ b/drivers/tty/serial/omap-serial.c
@@ -917,6 +917,13 @@ serial_omap_set_termios(struct uart_port *port, struct 
ktermios *termios,
                serial_out(up, UART_LCR, UART_LCR_CONF_MODE_B);
                serial_out(up, UART_EFR, up->efr);
                serial_out(up, UART_LCR, cval);
+       } else {
+               /* Disable AUTORTS and AUTOCTS */
+               up->efr &= ~(UART_EFR_CTS | UART_EFR_RTS);
+
+               serial_out(up, UART_LCR, UART_LCR_CONF_MODE_B);
+               serial_out(up, UART_EFR, up->efr);
+               serial_out(up, UART_LCR, cval);
        }
 
        serial_omap_set_mctrl(&up->port, up->port.mctrl);
-- 
1.7.4.4

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to