Hi Alan, Today's linux-next on a pSeries PowerPC machine panics during boot like this: calling .serial8250_init+0x0/0x230 @ 1 Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled ------------[ cut here ]------------ kernel BUG at arch/powerpc/lib/locks.c:36! cpu 0x0: Vector: 700 (Program Check) at [c0000000be683740] pc: c000000000039460: .__spin_yield+0x40/0x90 lr: c000000000570284: ._spin_lock+0x84/0x90 sp: c0000000be6839c0 msr: 8000000000029032 current = 0xc0000000be67e000 paca = 0xc000000000947200 pid = 1, comm = swapper kernel BUG at arch/powerpc/lib/locks.c:36! enter ? for help [c0000000be683a30] c000000000570284 ._spin_lock+0x84/0x90 [c0000000be683ab0] c00000000056e75c .__mutex_lock_slowpath+0xec/0x2d0 [c0000000be683b90] c00000000056e274 .mutex_lock+0x54/0x60 [c0000000be683c10] c00000000032f6f8 .uart_add_one_port+0xd8/0x3f0 [c0000000be683d30] c0000000007a48c4 .serial8250_init+0x1a4/0x230 [c0000000be683de0] c00000000000947c .do_one_initcall+0x6c/0x1e0 [c0000000be683ee0] c000000000779d6c .kernel_init+0x23c/0x2c0 [c0000000be683f90] c00000000002a8e4 .kernel_thread+0x54/0x70 arch/powerpc/lib/locks.c line 36 is: lock_value = lock->slock; if (lock_value == 0) return; holder_cpu = lock_value & 0xffff; BUG_ON(holder_cpu >= NR_CPUS); this last line. Which would imply that the lock has probably not been initialised. Indeed, uart_add_one_port does: struct tty_port *port; mutex_lock(&port->mutex); without assigning to port. See "serial-move-mutex" from the ttydev tree. -- Cheers, Stephen Rothwell sfr@xxxxxxxxxxxxxxxx http://www.canb.auug.org.au/~sfr/
Attachment:
pgp0o4J3HXtQi.pgp
Description: PGP signature