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 <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
9aba8d5b01
commit
0d5b166395
|
@ -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_LCR, UART_LCR_CONF_MODE_A);
|
||||||
serial_out(up, UART_MCR, up->mcr | UART_MCR_RTS);
|
serial_out(up, UART_MCR, up->mcr | UART_MCR_RTS);
|
||||||
serial_out(up, UART_LCR, cval);
|
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);
|
serial_omap_set_mctrl(&up->port, up->port.mctrl);
|
||||||
|
|
Loading…
Reference in New Issue