The patch titled 8250: don't clobber spinlocks has been added to the -mm tree. Its filename is 8250-dont-clobber-spinlocks.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://userweb.kernel.org/~akpm/stuff/added-to-mm.txt to find out what to do about this The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ ------------------------------------------------------ Subject: 8250: don't clobber spinlocks From: David Daney <ddaney@xxxxxxxxxxxxxxxxxx> In serial8250_isa_init_ports(), the port's lock is initialized. We should not overwrite it. In early_serial_setup(), only copy in the fields we need. Since the early console code only uses a subset of the fields, these are sufficient. Signed-off-by: David Daney <ddaney@xxxxxxxxxxxxxxxxxx> Signed-off-by: Tomaso Paoletti <tpaoletti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/serial/8250.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff -puN drivers/serial/8250.c~8250-dont-clobber-spinlocks drivers/serial/8250.c --- a/drivers/serial/8250.c~8250-dont-clobber-spinlocks +++ a/drivers/serial/8250.c @@ -2752,12 +2752,23 @@ static struct uart_driver serial8250_reg */ int __init early_serial_setup(struct uart_port *port) { + struct uart_port *p; + if (port->line >= ARRAY_SIZE(serial8250_ports)) return -ENODEV; serial8250_isa_init_ports(); - serial8250_ports[port->line].port = *port; - serial8250_ports[port->line].port.ops = &serial8250_pops; + p = &serial8250_ports[port->line].port; + p->iobase = port->iobase; + p->membase = port->membase; + p->irq = port->irq; + p->uartclk = port->uartclk; + p->fifosize = port->fifosize; + p->regshift = port->regshift; + p->iotype = port->iotype; + p->flags = port->flags; + p->mapbase = port->mapbase; + p->private_data = port->private_data; return 0; } _ Patches currently in -mm which might be from ddaney@xxxxxxxxxxxxxxxxxx are mips-make-bug-__noreturn.patch 8250-dont-clobber-spinlocks.patch 8250-serial-driver-changes-to-support-future-cavium-octeon-serial-patches.patch serial-allow-port-type-to-be-specified-when-calling-serial8250_register_port.patch 8250-allow-port-type-to-specify-bugs-that-are-not-probed-for.patch serial-uart-driver-changes-for-cavium-octeon.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html