Commit c75289a7 authored by Lukas Wunner's avatar Lukas Wunner Committed by Greg Kroah-Hartman

serial: omap: Fix EFR write on RTS deassertion

commit 2a71de2f upstream.

Commit 348f9bb3 ("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: 348f9bb3 ("serial: omap: Fix RTS handling")
Cc: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: default avatarLukas Wunner <lukas@wunner.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 87eb84b9
...@@ -693,7 +693,7 @@ static void serial_omap_set_mctrl(struct uart_port *port, unsigned int mctrl) ...@@ -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)) if ((mctrl & TIOCM_RTS) && (port->status & UPSTAT_AUTORTS))
up->efr |= UART_EFR_RTS; up->efr |= UART_EFR_RTS;
else else
up->efr &= UART_EFR_RTS; up->efr &= ~UART_EFR_RTS;
serial_out(up, UART_EFR, up->efr); serial_out(up, UART_EFR, up->efr);
serial_out(up, UART_LCR, lcr); serial_out(up, UART_LCR, lcr);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment