Commit 5bac4b3d authored by Peter Hurley's avatar Peter Hurley Committed by Greg Kroah-Hartman

serial: 8250_omap: Remove auto-IXON flow control

OMAP h/w-assisted IXON flow control is borked. The transmitter becomes
stuck if XON is never received; clearing the fifos or resetting the
rx flow control bits has no effect.

Remove auto-IXANY as well, since without auto-IXON, it has no purpose.
Signed-off-by: default avatarPeter Hurley <peter@hurleysoftware.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 27c93af7
...@@ -447,12 +447,9 @@ static void omap_8250_set_termios(struct uart_port *port, ...@@ -447,12 +447,9 @@ static void omap_8250_set_termios(struct uart_port *port,
priv->efr |= UART_EFR_CTS; priv->efr |= UART_EFR_CTS;
} else if (up->port.flags & UPF_SOFT_FLOW) { } else if (up->port.flags & UPF_SOFT_FLOW) {
/* /*
* IXON Flag: * OMAP rx s/w flow control is borked; the transmitter remains
* Enable XON/XOFF flow control on input. * stuck off even if rx flow control is subsequently disabled
* Receiver compares XON1, XOFF1.
*/ */
if (termios->c_iflag & IXON)
priv->efr |= OMAP_UART_SW_RX;
/* /*
* IXOFF Flag: * IXOFF Flag:
...@@ -463,15 +460,6 @@ static void omap_8250_set_termios(struct uart_port *port, ...@@ -463,15 +460,6 @@ static void omap_8250_set_termios(struct uart_port *port,
up->port.status |= UPSTAT_AUTOXOFF; up->port.status |= UPSTAT_AUTOXOFF;
priv->efr |= OMAP_UART_SW_TX; priv->efr |= OMAP_UART_SW_TX;
} }
/*
* IXANY Flag:
* Enable any character to restart output.
* Operation resumes after receiving any
* character after recognition of the XOFF character
*/
if (termios->c_iflag & IXANY)
up->mcr |= UART_MCR_XONANY;
} }
omap8250_restore_regs(up); omap8250_restore_regs(up);
......
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