Re: [PATCH 4/4] tty: serial: do unlock on a common path in altera_jtaguart_console_putc()

From: Ilpo Järvinen
Date: Wed Sep 28 2022 - 06:28:07 EST


On Tue, 27 Sep 2022, Jiri Slaby wrote:

> port->lock is unlocked in each branch in altera_jtaguart_console_putc(),
> so do it before the "if". "status" needs not be under the lock, as the
> register was already read.
>
> Cc: Tobias Klauser <tklauser@xxxxxxxxxx>
> Signed-off-by: Jiri Slaby <jslaby@xxxxxxx>
> ---
> drivers/tty/serial/altera_jtaguart.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/tty/serial/altera_jtaguart.c b/drivers/tty/serial/altera_jtaguart.c
> index ac8ce418de36..c2d154d78e54 100644
> --- a/drivers/tty/serial/altera_jtaguart.c
> +++ b/drivers/tty/serial/altera_jtaguart.c
> @@ -310,11 +310,12 @@ static void altera_jtaguart_console_putc(struct uart_port *port, unsigned char c
>
> spin_lock_irqsave(&port->lock, flags);
> while (!altera_jtaguart_tx_space(port, &status)) {
> + spin_unlock_irqrestore(&port->lock, flags);
> +
> if ((status & ALTERA_JTAGUART_CONTROL_AC_MSK) == 0) {
> - spin_unlock_irqrestore(&port->lock, flags);
> return; /* no connection activity */
> }

There braces are now unnecessary.

Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx>

--
i.


> - spin_unlock_irqrestore(&port->lock, flags);
> +
> cpu_relax();
> spin_lock_irqsave(&port->lock, flags);
> }
>