The meson UART driver triggers a lockdep splat at boot time, due
to the new expectation that the driver has to initialize the
per-port spinlock itself.

It remains unclear why a double initialization of the port
spinlock is a desirable outcome, but in the meantime let's
fix the splat.

Fixes: a3cb39d258ef ("serial: core: Allow detach and attach serial device for 
console")
Cc: Andy Shevchenko <andriy.shevche...@linux.intel.com>
Cc: Greg Kroah-Hartman <gre...@linuxfoundation.org>
Signed-off-by: Marc Zyngier <m...@kernel.org>
---
 drivers/tty/serial/meson_uart.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/tty/serial/meson_uart.c b/drivers/tty/serial/meson_uart.c
index d2c08b760f83..386e39c90628 100644
--- a/drivers/tty/serial/meson_uart.c
+++ b/drivers/tty/serial/meson_uart.c
@@ -759,6 +759,9 @@ static int meson_uart_probe(struct platform_device *pdev)
        if (ret)
                return ret;
 
+       /* Init the spinlock early in case this is the console */
+       spin_lock_init(&port->lock);
+
        port->iotype = UPIO_MEM;
        port->mapbase = res_mem->start;
        port->mapsize = resource_size(res_mem);
-- 
2.26.2

Reply via email to