1 --- linux-2.6/drivers/serial/8250.c 2008-08-06 15:56:53.000000000 -0500
2 +++ linux-2.6-vanilla/drivers/serial/8250.c 2008-08-07 12:24:29.000000000 -0500
6 if (is_real_interrupt(up->port.irq)) {
9 * Test for UARTs that do not reassert THRE when the
10 * transmitter is idle and the interrupt has already
12 wait_for_xmitr(up, UART_LSR_THRE);
13 serial_out_sync(up, UART_IER, UART_IER_THRI);
14 udelay(1); /* allow THRE to set */
15 - iir1 = serial_in(up, UART_IIR);
16 + serial_in(up, UART_IIR);
17 serial_out(up, UART_IER, 0);
18 serial_out_sync(up, UART_IER, UART_IER_THRI);
19 udelay(1); /* allow a working UART time to re-assert THRE */
21 * If the interrupt is not reasserted, setup a timer to
22 * kick the UART on a regular basis.
24 - if (!(iir1 & UART_IIR_NO_INT) && (iir & UART_IIR_NO_INT)) {
25 + if (iir & UART_IIR_NO_INT) {
26 pr_debug("ttyS%d - using backup timer\n", port->line);
27 up->timer.function = serial8250_backup_timeout;
28 up->timer.data = (unsigned long)up;