aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorVikram Pandita <vikram.pandita@ti.com>2012-09-06 08:45:37 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-09-06 12:17:02 -0400
commit957ee7270d632245b43f6feb0e70d9a5e9ea6cf6 (patch)
tree0194e114fe3159dd7a17ae00f446991b16e40ca2 /drivers
parenta6b19c333c2f100f32e07d5209cf9f0b4f81b6eb (diff)
serial: omap: fix software flow control
Software flow control register bits were not defined correctly. Also clarify the IXON and IXOFF logic to reflect what userspace wants. Cc: stable@vger.kernel.org Tested-by: Shubhrajyoti D <shubhrajyoti@ti.com> Signed-off-by: Vikram Pandita <vikram.pandita@ti.com> Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com> Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Felipe Balbi <balbi@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/tty/serial/omap-serial.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/tty/serial/omap-serial.c b/drivers/tty/serial/omap-serial.c
index 6a58f4f64f81..1ba1f439a5b0 100644
--- a/drivers/tty/serial/omap-serial.c
+++ b/drivers/tty/serial/omap-serial.c
@@ -617,19 +617,19 @@ serial_omap_configure_xonxoff
617 617
618 /* 618 /*
619 * IXON Flag: 619 * IXON Flag:
620 * Enable XON/XOFF flow control on output. 620 * Flow control for OMAP.TX
621 * Transmit XON1, XOFF1 621 * OMAP.RX should listen for XON/XOFF
622 */ 622 */
623 if (termios->c_iflag & IXON) 623 if (termios->c_iflag & IXON)
624 up->efr |= OMAP_UART_SW_TX; 624 up->efr |= OMAP_UART_SW_RX;
625 625
626 /* 626 /*
627 * IXOFF Flag: 627 * IXOFF Flag:
628 * Enable XON/XOFF flow control on input. 628 * Flow control for OMAP.RX
629 * Receiver compares XON1, XOFF1. 629 * OMAP.TX should send XON/XOFF
630 */ 630 */
631 if (termios->c_iflag & IXOFF) 631 if (termios->c_iflag & IXOFF)
632 up->efr |= OMAP_UART_SW_RX; 632 up->efr |= OMAP_UART_SW_TX;
633 633
634 serial_out(up, UART_EFR, up->efr | UART_EFR_ECB); 634 serial_out(up, UART_EFR, up->efr | UART_EFR_ECB);
635 serial_out(up, UART_LCR, UART_LCR_CONF_MODE_A); 635 serial_out(up, UART_LCR, UART_LCR_CONF_MODE_A);