![]() | ||||||||||
Messages in this thread Patch in this message |
randconfig testing found a bootup lockup in drivers/char/esp.c - find the fix below. Not sure why it became more prominent in 2.6.25-rc4, the bug seems rather old and i've been doing allyesconfig bootups for ages with CONFIG_ESP enabled. -------------> Subject: drivers/char/esp.c: fix bootup lockup From: Ingo Molnar <mingo@elte.hu> Date: Fri Mar 07 10:47:43 CET 2008 fix this bootup lockup: PM: Adding info for No Bus:ttyP63 ttyP32 at 0x0240 (irq = 0) is an ESP primary port BUG: spinlock lockup on CPU#0, swapper/1, f56dd004 Pid: 1, comm: swapper Not tainted 2.6.25-rc4-sched-devel.git-x86-latest.git #402 [<c03ac6f4>] _raw_spin_lock+0x134/0x140 [<c08649be>] _spin_lock_irqsave+0x5e/0x80 [<c0b9fbfe>] ? espserial_init+0x2be/0x6e0 [<c0b9fbfe>] espserial_init+0x2be/0x6e0 [<c0b877a3>] kernel_init+0x83/0x260 [<c0b9f940>] ? espserial_init+0x0/0x6e0 [<c010416a>] ? restore_nocheck_notrace+0x0/0xe [<c0b87720>] ? kernel_init+0x0/0x260 [<c0b87720>] ? kernel_init+0x0/0x260 [<c0104507>] kernel_thread_helper+0x7/0x10 ======================= kzalloc() is not the way to initialize spinlocks anymore. Signed-off-by: Ingo Molnar <mingo@elte.hu> --- drivers/char/esp.c | 1 + 1 file changed, 1 insertion(+) Index: linux/drivers/char/esp.c =================================================================== --- linux.orig/drivers/char/esp.c +++ linux/drivers/char/esp.c @@ -2484,6 +2484,7 @@ static int __init espserial_init(void) return 0; } + spin_lock_init(&info->lock); /* rx_trigger, tx_trigger are needed by autoconfig */ info->config.rx_trigger = rx_trigger; info->config.tx_trigger = tx_trigger; | |||||||||
| Last update: 2008-03-07 10:11 [W:0.308 / U:0.130 seconds] ©2003-2008 Jasper Spaans | ||||||||||