diff options
author | Vikram Pandita <vikram.pandita@ti.com> | 2012-09-06 08:45:37 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-09-06 12:17:02 -0400 |
commit | 957ee7270d632245b43f6feb0e70d9a5e9ea6cf6 (patch) | |
tree | 0194e114fe3159dd7a17ae00f446991b16e40ca2 /drivers | |
parent | a6b19c333c2f100f32e07d5209cf9f0b4f81b6eb (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.c | 12 |
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); |