Hi John, On 23/04/20 23:00, John Stultz wrote: > Which seems to be due to the fact that after allocating the uap > structure, the pl011 code doesn't initialize the spinlock. > > This patch fixes it by initializing the spinlock and the warning > has gone away. > Thanks for having a look. It does seem like the reasonable thing to do, and I no longer get the warning on h960. That said, I got more curious as this doesn't show up on my Juno (same Image). Digging into it I see that uart_add_one_port() has a call to uart_port_spin_lock_init() a few lines before uart_configure_port() (in which the above warning gets triggered). That thing says: * Ensure that the serial console lock is initialised early. * If this port is a console, then the spinlock is already initialised. Which requires me to ask: are we doing the right thing here? > CC: Valentin Schneider <valentin.schneider@xxxxxxx> > Cc: Russell King <linux@xxxxxxxxxxxxxxx> > Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > Cc: Jiri Slaby <jslaby@xxxxxxxx> > Cc: linux-serial@xxxxxxxxxxxxxxx > Reported-by: Valentin Schneider <valentin.schneider@xxxxxxx> > Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> > --- > drivers/tty/serial/amba-pl011.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c > index 2296bb0f9578..458fc3d9d48c 100644 > --- a/drivers/tty/serial/amba-pl011.c > +++ b/drivers/tty/serial/amba-pl011.c > @@ -2575,6 +2575,7 @@ static int pl011_setup_port(struct device *dev, struct uart_amba_port *uap, > uap->port.has_sysrq = IS_ENABLED(CONFIG_SERIAL_AMBA_PL011_CONSOLE); > uap->port.flags = UPF_BOOT_AUTOCONF; > uap->port.line = index; > + spin_lock_init(&uap->port.lock); > > amba_ports[index] = uap;