[patch] serial: fix UART_BUG_TXEN test

From: Gerd Hoffmann
Date: Wed Apr 05 2006 - 06:24:44 EST


Hi,

There is a bug in the UART_BUG_TXEN test: It gives false positives in
case the UART_IER_THRI bit is set. Fixed by explicitly clearing the
UART_IER register first.

It may trigger with an active serial console as serial console writes
set the UART_IER_THRI bit.

cheers,

Gerd
Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxx>
--- linux-2.6.16/drivers/serial/8250.c.serial 2006-04-05 12:04:31.000000000 +0200
+++ linux-2.6.16/drivers/serial/8250.c 2006-04-05 12:04:49.000000000 +0200
@@ -1712,6 +1712,7 @@
* Do a quick test to see if we receive an
* interrupt when we enable the TX irq.
*/
+ serial_outp(up, UART_IER, 0);
serial_outp(up, UART_IER, UART_IER_THRI);
lsr = serial_in(up, UART_LSR);
iir = serial_in(up, UART_IIR);