summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesse Gilles <jgilles@multitech.com>2011-01-05 12:04:38 -0600
committerJesse Gilles <jgilles@multitech.com>2011-01-05 12:04:38 -0600
commit31acd6418f4b6d4018d74f94ad7c7fb43170d6f4 (patch)
tree03d48b280e0f26425d03e858f8624038d6f6e8cd
parente5919c560e115f2d965bc909f581f1900b07fa21 (diff)
linux-2.6.32: fix hardware flow control in atmel_serial
* Fixes RTS/CTS flow control by reverting the following commit from linux-2.6: commit 8e706c4d0dab214c625a2df84a0ca69a76bae65d avr32: add hardware handshake support to atmel_serial
-rw-r--r--recipes/linux/linux-2.6.32/mtcdp/linux-2.6.32.3-atmel_serial_disable_hwhs.patch32
-rw-r--r--recipes/linux/linux_2.6.32.bb3
2 files changed, 34 insertions, 1 deletions
diff --git a/recipes/linux/linux-2.6.32/mtcdp/linux-2.6.32.3-atmel_serial_disable_hwhs.patch b/recipes/linux/linux-2.6.32/mtcdp/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/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;
diff --git a/recipes/linux/linux_2.6.32.bb b/recipes/linux/linux_2.6.32.bb
index 2971489308..2d26523684 100644
--- a/recipes/linux/linux_2.6.32.bb
+++ b/recipes/linux/linux_2.6.32.bb
@@ -1,6 +1,6 @@
require linux.inc
-PR = "r7"
+PR = "r8"
S = "${WORKDIR}/linux-${PV}"
@@ -37,6 +37,7 @@ SRC_URI_mtcdp = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2;n
file://linux-2.6.32.3-at91_mci.patch;patch=1 \
file://linux-2.6.32.3-m25p80.patch;patch=1 \
file://linux-2.6.32.3-at25.patch;patch=1 \
+ file://linux-2.6.32.3-atmel_serial_disable_hwhs.patch;patch=1 \
"
SRC_URI[build.md5sum] = "6bd3c5fea1e88bb4d0948ec3688bd8f6"
SRC_URI[build.sha256sum] = "e7526a7ae7210bc7c4f4837e9d8a666f9b126d59bee16015c41c5850d29c841f"