Re: [PATCH v1 1/1] tty: serial: add missing spin_lock_init for SiFive serial console

From: Palmer Dabbelt
Date: Tue May 12 2020 - 19:00:28 EST


On Sat, 09 May 2020 03:24:12 PDT (-0700), sagar.kadam@xxxxxxxxxx wrote:
An uninitialised spin lock for sifive serial console raises a bad
magic spin_lock error as reported and discussed here [1].
Initialising the spin lock resolves the issue.

The fix is tested on HiFive Unleashed A00 board with Linux 5.7-rc4
and OpenSBI v0.7

[1] https://lore.kernel.org/linux-riscv/b9fe49483a903f404e7acc15a6efbef756db28ae.camel@xxxxxxx

Fixes: 45c054d0815b ("tty: serial: add driver for the SiFive UART")
Reported-by: Atish Patra <Atish.Patra@xxxxxxx>
Signed-off-by: Sagar Shrikant Kadam <sagar.kadam@xxxxxxxxxx>
---
drivers/tty/serial/sifive.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/tty/serial/sifive.c b/drivers/tty/serial/sifive.c
index 13eadcb..0b5110d 100644
--- a/drivers/tty/serial/sifive.c
+++ b/drivers/tty/serial/sifive.c
@@ -883,6 +883,7 @@ console_initcall(sifive_console_init);

static void __ssp_add_console_port(struct sifive_serial_port *ssp)
{
+ spin_lock_init(&ssp->port.lock);
sifive_serial_console_ports[ssp->port.line] = ssp;
}

Reviewed-by: Palmer Dabbelt <palmerdabbelt@xxxxxxxxxx>
Acked-by: Palmer Dabbelt <palmerdabbelt@xxxxxxxxxx>

I'm assuming it's going in through Greg's tree.

Thanks!