2015-12-11 01:08:52

by Bjorn Andersson

[permalink] [raw]
Subject: [PATCH] serial: earlycon: Initialize uart_port spinlock

Initialize the uart_port spinlock of earlycon to avoid the BUG() when
booting with spinlock debug enabled.

Signed-off-by: Bjorn Andersson <[email protected]>
---
drivers/tty/serial/earlycon.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/tty/serial/earlycon.c b/drivers/tty/serial/earlycon.c
index f09636083426..6c18891ad8d0 100644
--- a/drivers/tty/serial/earlycon.c
+++ b/drivers/tty/serial/earlycon.c
@@ -111,6 +111,8 @@ static int __init register_earlycon(char *buf, const struct earlycon_id *match)
int err;
struct uart_port *port = &early_console_dev.port;

+ spin_lock_init(&port->lock);
+
/* On parsing error, pass the options buf to the setup function */
if (buf && !parse_options(&early_console_dev, buf))
buf = NULL;
@@ -202,6 +204,7 @@ int __init of_setup_earlycon(unsigned long addr,
int err;
struct uart_port *port = &early_console_dev.port;

+ spin_lock_init(&port->lock);
port->iotype = UPIO_MEM;
port->mapbase = addr;
port->uartclk = BASE_BAUD * 16;
--
2.4.2


2015-12-11 02:35:54

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH] serial: earlycon: Initialize uart_port spinlock

On Thu, Dec 10, 2015 at 7:08 PM, Bjorn Andersson
<[email protected]> wrote:
> Initialize the uart_port spinlock of earlycon to avoid the BUG() when
> booting with spinlock debug enabled.
>
> Signed-off-by: Bjorn Andersson <[email protected]>

Same patch[1] should already be in Greg's queue.

Rob

[1] https://lkml.org/lkml/2015/11/27/165

> ---
> drivers/tty/serial/earlycon.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/tty/serial/earlycon.c b/drivers/tty/serial/earlycon.c
> index f09636083426..6c18891ad8d0 100644
> --- a/drivers/tty/serial/earlycon.c
> +++ b/drivers/tty/serial/earlycon.c
> @@ -111,6 +111,8 @@ static int __init register_earlycon(char *buf, const struct earlycon_id *match)
> int err;
> struct uart_port *port = &early_console_dev.port;
>
> + spin_lock_init(&port->lock);
> +
> /* On parsing error, pass the options buf to the setup function */
> if (buf && !parse_options(&early_console_dev, buf))
> buf = NULL;
> @@ -202,6 +204,7 @@ int __init of_setup_earlycon(unsigned long addr,
> int err;
> struct uart_port *port = &early_console_dev.port;
>
> + spin_lock_init(&port->lock);
> port->iotype = UPIO_MEM;
> port->mapbase = addr;
> port->uartclk = BASE_BAUD * 16;
> --
> 2.4.2
>

2015-12-11 16:28:31

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH] serial: earlycon: Initialize uart_port spinlock

On Thu, Dec 10, 2015 at 6:35 PM, Rob Herring <[email protected]> wrote:
> On Thu, Dec 10, 2015 at 7:08 PM, Bjorn Andersson
> <[email protected]> wrote:
>> Initialize the uart_port spinlock of earlycon to avoid the BUG() when
>> booting with spinlock debug enabled.
>>
>> Signed-off-by: Bjorn Andersson <[email protected]>
>
> Same patch[1] should already be in Greg's queue.
>
> Rob
>
> [1] https://lkml.org/lkml/2015/11/27/165
>

Thanks, missed that one.

Regards,
Bjorn