serial: xilinx_uartps: drop low-latency workaround
authorJohan Hovold <johan@kernel.org>
Wed, 21 Apr 2021 09:55:09 +0000 (11:55 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 22 Apr 2021 10:09:26 +0000 (12:09 +0200)
Commit c8dbdc842d30 ("serial: xuartps: Rewrite the interrupt handling
logic") reworked the driver interrupt processing but also, without
comment, added an unnecessary workaround for the infamous low_latency
behaviour of tty_flip_buffer_push() which had been removed years
before.

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.

Cc: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://lore.kernel.org/r/20210421095509.3024-27-johan@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/xilinx_uartps.c

index a14c5d9..67a2db6 100644 (file)
@@ -301,9 +301,8 @@ static void cdns_uart_handle_rx(void *dev_id, unsigned int isrstatus)
                tty_insert_flip_char(&port->state->port, data, status);
                isrstatus = 0;
        }
-       spin_unlock(&port->lock);
+
        tty_flip_buffer_push(&port->state->port);
-       spin_lock(&port->lock);
 }
 
 /**