logo       

[PATCH 2.6.16.18] 8250: Serial console enable Tx fix: msg#00055

Subject: [PATCH 2.6.16.18] 8250: Serial console enable Tx fix
Enabling the Tx interrupt from console_write on buggy UART (UART_BUG_TXEN) breaks console transmit on said UART. Revert to previous UART_IER restore and use serial8250_start_tx() to cause the transmit path to start and not hang.

Signed-off-by: Michael W. J. Hordijk <mwh13@xxxxxxxx>

--- linux-2.6.16.y/drivers/serial/8250.c.orig   2006-05-26 21:25:09.000116360 
-0400
+++ linux-2.6.16.y/drivers/serial/8250.c        2006-05-26 21:26:54.000841539 
-0400
@@ -2229,8 +2229,13 @@ serial8250_console_write(struct console
         *      and restore the IER
         */
        wait_for_xmitr(up, BOTH_EMPTY);
-       up->ier |= UART_IER_THRI;
-       serial_out(up, UART_IER, ier | UART_IER_THRI);
+       serial_out(up, UART_IER, ier);
+
+       /*
+        *      Start transmitting again in case it was clobbered racing between
+        *      console and tty output.
+        */
+       serial8250_start_tx(up);
 }

 static int serial8250_console_setup(struct console *co, char *options)
-
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



<Prev in Thread] Current Thread [Next in Thread>