Re: [RFC PATCH] pch_uart: Add eg20t_port lock field, avoid recursive spinlocks

From: Tomoya MORINAGA
Date: Fri Jun 01 2012 - 04:30:48 EST


On Thu, May 31, 2012 at 5:54 PM, Darren Hart <dvhart@xxxxxxxxxxxxxxx> wrote:
> @@ -1376,7 +1379,8 @@ static void pch_uart_set_termios(struct uart_port *port,
>
>        baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk / 16);
>
> -       spin_lock_irqsave(&port->lock, flags);
> +       spin_lock_irqsave(&priv->lock, flags);
> +       spin_lock(&port->lock);
>
>        uart_update_timeout(port, termios->c_cflag, baud);
>        rtn = pch_uart_hal_set_line(priv, baud, parity, bits, stb);
> @@ -1389,7 +1393,8 @@ static void pch_uart_set_termios(struct uart_port *port,
>                tty_termios_encode_baud_rate(termios, baud, baud);
>
>  out:
> -       spin_unlock_irqrestore(&port->lock, flags);
> +       spin_unlock(&port->lock);
> +       spin_unlock_irqrestore(&priv->lock, flags);
>  }

Are both port->lock and priv->lock really necessary ?


> @@ -1572,7 +1578,9 @@ pch_console_write(struct console *co, const char *s, unsigned int count)
>
>        if (locked)
>                spin_unlock(&priv->port.lock);
> +       spin_unlock(&priv->lock);
>        local_irq_restore(flags);
> +
>  }

Looks spare blank line.

thanks.
--
ROHM Co., Ltd.
tomoya
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/