summaryrefslogtreecommitdiff
path: root/recipes/linux/linux-2.6.32/mtcdp-embedded/linux-2.6.32.3-atmel_serial_disable_hwhs.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/linux/linux-2.6.32/mtcdp-embedded/linux-2.6.32.3-atmel_serial_disable_hwhs.patch')
-rw-r--r--recipes/linux/linux-2.6.32/mtcdp-embedded/linux-2.6.32.3-atmel_serial_disable_hwhs.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/recipes/linux/linux-2.6.32/mtcdp-embedded/linux-2.6.32.3-atmel_serial_disable_hwhs.patch b/recipes/linux/linux-2.6.32/mtcdp-embedded/linux-2.6.32.3-atmel_serial_disable_hwhs.patch
new file mode 100644
index 0000000000..bd620afb95
--- /dev/null
+++ b/recipes/linux/linux-2.6.32/mtcdp-embedded/linux-2.6.32.3-atmel_serial_disable_hwhs.patch
@@ -0,0 +1,32 @@
+Revert commit 8e706c4d0dab214c625a2df84a0ca69a76bae65d in linux-2.6:
+ avr32: add hardware handshake support to atmel_serial
+
+Reverting commit since it breaks hardware flow control for at91sam9g20
+
+diff --git a/drivers/serial/atmel_serial.c b/drivers/serial/atmel_serial.c
+index 9d948bc..b659f2c 100644
+--- a/drivers/serial/atmel_serial.c
++++ b/drivers/serial/atmel_serial.c
+@@ -1020,8 +1020,7 @@ static void atmel_set_termios(struct uart_port *port, struct ktermios *termios,
+
+ /* Get current mode register */
+ mode = UART_GET_MR(port) & ~(ATMEL_US_USCLKS | ATMEL_US_CHRL
+- | ATMEL_US_NBSTOP | ATMEL_US_PAR
+- | ATMEL_US_USMODE);
++ | ATMEL_US_NBSTOP | ATMEL_US_PAR);
+
+ baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk / 16);
+ quot = uart_get_divisor(port, baud);
+@@ -1066,12 +1065,6 @@ static void atmel_set_termios(struct uart_port *port, struct ktermios *termios,
+ } else
+ mode |= ATMEL_US_PAR_NONE;
+
+- /* hardware handshake (RTS/CTS) */
+- if (termios->c_cflag & CRTSCTS)
+- mode |= ATMEL_US_USMODE_HWHS;
+- else
+- mode |= ATMEL_US_USMODE_NORMAL;
+-
+ spin_lock_irqsave(&port->lock, flags);
+
+ port->read_status_mask = ATMEL_US_OVRE;