summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukas Wunner <lukas@wunner.de>2017-10-21 10:50:18 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-11-24 08:33:42 +0100
commit70eb4608bb0e4e45658cb5b5002afe74c31feffb (patch)
tree7249cd378f77509799c225b1754f22ad236f37e0
parent2cfbb32f6ccb8910418d447fabd0420fba4de825 (diff)
downloadlinux-stable-70eb4608bb0e4e45658cb5b5002afe74c31feffb.tar.gz
linux-stable-70eb4608bb0e4e45658cb5b5002afe74c31feffb.tar.bz2
linux-stable-70eb4608bb0e4e45658cb5b5002afe74c31feffb.zip
serial: omap: Fix EFR write on RTS deassertion
commit 2a71de2f7366fb1aec632116d0549ec56d6a3940 upstream. Commit 348f9bb31c56 ("serial: omap: Fix RTS handling") sought to enable auto RTS upon manual RTS assertion and disable it on deassertion. However it seems the latter was done incorrectly, it clears all bits in the Extended Features Register *except* auto RTS. Fixes: 348f9bb31c56 ("serial: omap: Fix RTS handling") Cc: Peter Hurley <peter@hurleysoftware.com> Signed-off-by: Lukas Wunner <lukas@wunner.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/tty/serial/omap-serial.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/tty/serial/omap-serial.c b/drivers/tty/serial/omap-serial.c
index 44e5b5bf713b..472ba3c813c1 100644
--- a/drivers/tty/serial/omap-serial.c
+++ b/drivers/tty/serial/omap-serial.c
@@ -693,7 +693,7 @@ static void serial_omap_set_mctrl(struct uart_port *port, unsigned int mctrl)
if ((mctrl & TIOCM_RTS) && (port->status & UPSTAT_AUTORTS))
up->efr |= UART_EFR_RTS;
else
- up->efr &= UART_EFR_RTS;
+ up->efr &= ~UART_EFR_RTS;
serial_out(up, UART_EFR, up->efr);
serial_out(up, UART_LCR, lcr);