OSDN Git Service
(root)
/
uclinux-h8
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
9aba8d5
)
SERIAL: omap: allow hardware assisted rts/cts modes to be disabled
author
Russell King
<rmk+kernel@arm.linux.org.uk>
Fri, 5 Oct 2012 22:48:28 +0000
(23:48 +0100)
committer
Russell King
<rmk+kernel@arm.linux.org.uk>
Sun, 4 Nov 2012 11:25:57 +0000
(11:25 +0000)
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>
drivers/tty/serial/omap-serial.c
patch
|
blob
|
history
diff --git
a/drivers/tty/serial/omap-serial.c
b/drivers/tty/serial/omap-serial.c
index
6d3d26a
..
b6a1925
100644
(file)
--- 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);