[patch] serial: fix UART_BUG_TXEN test

Gerd Hoffmann
2006-04-05T10:23:12Z

[-- Attachment #1: Type: text/plain, Size: 286 bytes --]

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

[-- Attachment #2: fix-serial-8250-UART_BUG_TXEN-test --]
[-- Type: text/plain, Size: 460 bytes --]

Signed-off-by: Gerd Hoffmann <kraxel@suse.de>
--- 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);