Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

serial: amba-pl010: drop low-latency workaround

Commit 2389b272168c ("[ARM] 4417/1: Serial: Fix AMBA drivers locking")
worked around the infamous low_latency behaviour of
tty_flip_buffer_push() by simply dropping and reacquiring the port lock
in the interrupt handler.

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.

Cc: Russell King <linux@armlinux.org.uk>
Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://lore.kernel.org/r/20210421095509.3024-5-johan@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Johan Hovold and committed by
Greg Kroah-Hartman
173d37fc d26595d1

-2
-2
drivers/tty/serial/amba-pl010.c
··· 159 159 ignore_char: 160 160 status = readb(uap->port.membase + UART01x_FR); 161 161 } 162 - spin_unlock(&uap->port.lock); 163 162 tty_flip_buffer_push(&uap->port.state->port); 164 - spin_lock(&uap->port.lock); 165 163 } 166 164 167 165 static void pl010_tx_chars(struct uart_amba_port *uap)