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: Peter Hurley <pe...@hurleysoftware.com>
---
 drivers/tty/serial/8250/8250_omap.c | 16 ++--------------
 1 file changed, 2 insertions(+), 14 deletions(-)

diff --git a/drivers/tty/serial/8250/8250_omap.c 
b/drivers/tty/serial/8250/8250_omap.c
index 9782043..7e58750 100644
--- a/drivers/tty/serial/8250/8250_omap.c
+++ b/drivers/tty/serial/8250/8250_omap.c
@@ -427,12 +427,9 @@ static void omap_8250_set_termios(struct uart_port *port,
                priv->efr |= UART_EFR_CTS;
        } else  if (up->port.flags & UPF_SOFT_FLOW) {
                /*
-                * IXON Flag:
-                * Enable XON/XOFF flow control on input.
-                * Receiver compares XON1, XOFF1.
+                * OMAP rx s/w flow control is borked; the transmitter remains
+                * stuck off even if rx flow control is subsequently disabled
                 */
-               if (termios->c_iflag & IXON)
-                       priv->efr |= OMAP_UART_SW_RX;
 
                /*
                 * IXOFF Flag:
@@ -443,15 +440,6 @@ static void omap_8250_set_termios(struct uart_port *port,
                        up->port.status |= UPSTAT_AUTOXOFF;
                        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);
 
-- 
2.4.5

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to