summaryrefslogtreecommitdiff
path: root/packages/linux/linux-davinci/8250_davinci.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/linux/linux-davinci/8250_davinci.patch')
-rw-r--r--packages/linux/linux-davinci/8250_davinci.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/packages/linux/linux-davinci/8250_davinci.patch b/packages/linux/linux-davinci/8250_davinci.patch
new file mode 100644
index 0000000000..3625ded357
--- /dev/null
+++ b/packages/linux/linux-davinci/8250_davinci.patch
@@ -0,0 +1,28 @@
+--- linux-2.6/drivers/serial/8250.c 2008-08-06 15:56:53.000000000 -0500
++++ linux-2.6-vanilla/drivers/serial/8250.c 2008-08-07 12:24:29.000000000 -0500
+@@ -1867,7 +1867,6 @@
+ }
+
+ if (is_real_interrupt(up->port.irq)) {
+- unsigned char iir1;
+ /*
+ * Test for UARTs that do not reassert THRE when the
+ * transmitter is idle and the interrupt has already
+@@ -1881,7 +1880,7 @@
+ wait_for_xmitr(up, UART_LSR_THRE);
+ serial_out_sync(up, UART_IER, UART_IER_THRI);
+ udelay(1); /* allow THRE to set */
+- iir1 = serial_in(up, UART_IIR);
++ serial_in(up, UART_IIR);
+ serial_out(up, UART_IER, 0);
+ serial_out_sync(up, UART_IER, UART_IER_THRI);
+ udelay(1); /* allow a working UART time to re-assert THRE */
+@@ -1894,7 +1893,7 @@
+ * If the interrupt is not reasserted, setup a timer to
+ * kick the UART on a regular basis.
+ */
+- if (!(iir1 & UART_IIR_NO_INT) && (iir & UART_IIR_NO_INT)) {
++ if (iir & UART_IIR_NO_INT) {
+ pr_debug("ttyS%d - using backup timer\n", port->line);
+ up->timer.function = serial8250_backup_timeout;
+ up->timer.data = (unsigned long)up;