From: Russell King Date: Fri, 5 Oct 2012 22:48:28 +0000 (+0100) Subject: SERIAL: omap: allow hardware assisted rts/cts modes to be disabled X-Git-Tag: upstream/snapshot3+hdmi~6117^2~16 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0d5b16639523970db001e6af298e360782f4d89a;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git SERIAL: omap: allow hardware assisted rts/cts modes to be disabled 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 --- diff --git a/drivers/tty/serial/omap-serial.c b/drivers/tty/serial/omap-serial.c index 6d3d26a..b6a1925 100644 --- a/drivers/tty/serial/omap-serial.c +++ b/drivers/tty/serial/omap-serial.c @@ -921,6 +921,13 @@ serial_omap_set_termios(struct uart_port *port, struct ktermios *termios, serial_out(up, UART_LCR, UART_LCR_CONF_MODE_A); serial_out(up, UART_MCR, up->mcr | UART_MCR_RTS); 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);