serial: 8250: Remove low_latency workaround
authorPeter Hurley <peter@hurleysoftware.com>
Sun, 10 Jan 2016 22:39:33 +0000 (14:39 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 28 Jan 2016 22:07:04 +0000 (14:07 -0800)
The defunct low_latency input steering executed flush_to_ldisc()
directly from interrupt context so dropping the port lock was
necessary to avoid deadlock. That steering was removed by

    commit a9c3f68f3cd8d55f809fbdb0c138ed061ea1bd25
    Author: Peter Hurley <peter@hurleysoftware.com>
    Date:   Sat Feb 22 07:31:21 2014 -0500

    tty: Fix low_latency BUG

Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_port.c

index 48680565c9914c8797fc82b6954881415ce6d128..9ef77a52c4f2a08d0e1e9c59c827fee6105d44b2 100644 (file)
@@ -1489,9 +1489,8 @@ unsigned char serial8250_rx_chars(struct uart_8250_port *up, unsigned char lsr)
                        break;
                lsr = serial_in(up, UART_LSR);
        } while (lsr & (UART_LSR_DR | UART_LSR_BI));
-       spin_unlock(&port->lock);
+
        tty_flip_buffer_push(&port->state->port);
-       spin_lock(&port->lock);
        return lsr;
 }
 EXPORT_SYMBOL_GPL(serial8250_rx_chars);