serial: meson: drop low-latency workaround
authorJohan Hovold <johan@kernel.org>
Wed, 21 Apr 2021 09:54:57 +0000 (11:54 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 22 Apr 2021 10:09:25 +0000 (12:09 +0200)
The meson driver has always carried an unnecessary workaround for the
infamous low_latency behaviour of tty_flip_buffer_push(), which had
already been removed by the time the driver was added by commit
ff7693d079e5 ("ARM: meson: serial: add MesonX SoC on-chip uart driver").

Specifically, since commit a9c3f68f3cd8 ("tty: Fix low_latency BUG"),
tty_flip_buffer_push() always schedules a work item to push data to the
line discipline and there's no need to keep any low_latency hacks around.

Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://lore.kernel.org/r/20210421095509.3024-15-johan@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/meson_uart.c

index 69eeef9..529cd02 100644 (file)
@@ -226,9 +226,7 @@ static void meson_receive_chars(struct uart_port *port)
 
        } while (!(readl(port->membase + AML_UART_STATUS) & AML_UART_RX_EMPTY));
 
-       spin_unlock(&port->lock);
        tty_flip_buffer_push(tport);
-       spin_lock(&port->lock);
 }
 
 static irqreturn_t meson_uart_interrupt(int irq, void *dev_id)