[SERIAL] 8250 serial console fixes
authorAlan Cox <alan@lxorguk.ukuu.org.uk>
Sat, 21 Jan 2006 14:59:12 +0000 (14:59 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 21 Jan 2006 14:59:12 +0000 (14:59 +0000)
commitf91a3715db2bb44fcf08cec642e68f919b70f7f4
tree119d0917c2b9df55bf548e38ace5fcae8334f38e
parent3ee68c4af3fd7228c1be63254b9f884614f9ebb2
[SERIAL] 8250 serial console fixes

This patch resolves most of the problems with an SMP serial console race
with output via the tty path. At the end of the serial console print we
force enable the tx int in case we clobbered the tx interrupt status
racing between the console and tty output. That way the extra tx
interrupt causes the transmit path to restart not hang.

It also makes the serial console printk use the FIFO. This is neccessary
because some remote management devices fake serial console with FIFO and
are confused into sending one packet per character over ethernet when we
stall rather than filling the FIFO.

In order to preserve existing reliability semantics the function waits
for the serial queue to completely empty before returning.

Both of these problems were identified by a Red Hat partner.

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
drivers/serial/8250.c