• Alan Cox's avatar
    [SERIAL] 8250 serial console fixes · f91a3715
    Alan Cox authored
    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: default avatarAlan Cox <alan@redhat.com>
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    f91a3715
8250.c 65.4 KB