]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/3.6.8/revert-serial-omap-fix-software-flow-control.patch
Fixes for 4.19
[thirdparty/kernel/stable-queue.git] / releases / 3.6.8 / revert-serial-omap-fix-software-flow-control.patch
1 From a4f743851f74fc3e0cc40c13082e65c24139f481 Mon Sep 17 00:00:00 2001
2 From: Felipe Balbi <balbi@ti.com>
3 Date: Tue, 16 Oct 2012 17:09:22 +0300
4 Subject: Revert "serial: omap: fix software flow control"
5
6 From: Felipe Balbi <balbi@ti.com>
7
8 commit a4f743851f74fc3e0cc40c13082e65c24139f481 upstream.
9
10 This reverts commit 957ee7270d632245b43f6feb0e70d9a5e9ea6cf6
11 (serial: omap: fix software flow control).
12
13 As Russell has pointed out, that commit isn't fixing
14 Software Flow Control at all, and it actually makes
15 it even more broken.
16
17 It was agreed to revert this commit and use Russell's
18 latest UART patches instead.
19
20 Signed-off-by: Felipe Balbi <balbi@ti.com>
21 Cc: Russell King <linux@arm.linux.org.uk>
22 Acked-by: Tony Lindgren <tony@atomide.com>
23 Cc: Andreas Bießmann <andreas.devel@googlemail.com>
24 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
25
26 ---
27 arch/arm/plat-omap/include/plat/omap-serial.h | 4 ++--
28 drivers/tty/serial/omap-serial.c | 12 ++++++------
29 2 files changed, 8 insertions(+), 8 deletions(-)
30
31 --- a/arch/arm/plat-omap/include/plat/omap-serial.h
32 +++ b/arch/arm/plat-omap/include/plat/omap-serial.h
33 @@ -42,10 +42,10 @@
34 #define OMAP_UART_WER_MOD_WKUP 0X7F
35
36 /* Enable XON/XOFF flow control on output */
37 -#define OMAP_UART_SW_TX 0x8
38 +#define OMAP_UART_SW_TX 0x04
39
40 /* Enable XON/XOFF flow control on input */
41 -#define OMAP_UART_SW_RX 0x2
42 +#define OMAP_UART_SW_RX 0x04
43
44 #define OMAP_UART_SYSC_RESET 0X07
45 #define OMAP_UART_TCR_TRIG 0X0F
46 --- a/drivers/tty/serial/omap-serial.c
47 +++ b/drivers/tty/serial/omap-serial.c
48 @@ -667,19 +667,19 @@ serial_omap_configure_xonxoff
49
50 /*
51 * IXON Flag:
52 - * Flow control for OMAP.TX
53 - * OMAP.RX should listen for XON/XOFF
54 + * Enable XON/XOFF flow control on output.
55 + * Transmit XON1, XOFF1
56 */
57 if (termios->c_iflag & IXON)
58 - up->efr |= OMAP_UART_SW_RX;
59 + up->efr |= OMAP_UART_SW_TX;
60
61 /*
62 * IXOFF Flag:
63 - * Flow control for OMAP.RX
64 - * OMAP.TX should send XON/XOFF
65 + * Enable XON/XOFF flow control on input.
66 + * Receiver compares XON1, XOFF1.
67 */
68 if (termios->c_iflag & IXOFF)
69 - up->efr |= OMAP_UART_SW_TX;
70 + up->efr |= OMAP_UART_SW_RX;
71
72 serial_out(up, UART_EFR, up->efr | UART_EFR_ECB);
73 serial_out(up, UART_LCR, UART_LCR_CONF_MODE_A);