Re: [bug] pcwd_init_module(): WARNING: at lib/kref.c:33 kref_get()

From: Cornelia Huck
Date: Mon Jul 23 2007 - 03:33:26 EST


On Sun, 22 Jul 2007 20:23:20 +0530,
"Satyam Sharma" <satyam.sharma@xxxxxxxxx> wrote:

> On 7/22/07, Ingo Molnar <mingo@xxxxxxx> wrote:
> >
> > enabling CONFIG_PCWATCHDOG=y crashes bzImage bootup, see below. Tested
> > on latest -git.
> >
> > Ingo
> >
> > ------------------->
> > Calling initcall 0xc1e81f8c: pcwd_init_module+0x0/0x14()
> > WARNING: at lib/kref.c:33 kref_get()
> > [<c0105f6e>] show_trace_log_lvl+0x19/0x2e
> > [<c0106067>] show_trace+0x12/0x14
> > [<c010607d>] dump_stack+0x14/0x16
> > [<c051aa54>] kref_get+0x37/0x40
> > [<c0519dfe>] kobject_get+0x12/0x17
> > [<c06fd12a>] get_bus+0x11/0x21
> > [<c06fd729>] bus_add_driver+0x18/0x16b
> > [<c06fe45a>] driver_register+0x66/0x6b
> > [<c0702575>] isa_register_driver+0x27/0x126
> > [<c1e81f9e>] pcwd_init_module+0x12/0x14
> > [<c1e50838>] kernel_init+0x15a/0x2df
> > [<c0105d87>] kernel_thread_helper+0x7/0x10
> > =======================
>
> Trying to kref_get() isa_driver.device_driver.bus->subsys.kobj.kref
> but it hasn't even been kref_init()'ed yet/already.
>
> > WARNING: at lib/kref.c:33 kref_get()
> > [<c0105f6e>] show_trace_log_lvl+0x19/0x2e
> > [<c0106067>] show_trace+0x12/0x14
> > [<c010607d>] dump_stack+0x14/0x16
> > [<c051aa54>] kref_get+0x37/0x40
> > [<c0519dfe>] kobject_get+0x12/0x17
> > [<c051a429>] kobject_init+0x32/0x43
> > [<c051a4c3>] kobject_register+0x15/0x31
> > [<c06fd76d>] bus_add_driver+0x5c/0x16b
> > [<c06fe45a>] driver_register+0x66/0x6b
> > [<c0702575>] isa_register_driver+0x27/0x126
> > [<c1e81f9e>] pcwd_init_module+0x12/0x14
> > [<c1e50838>] kernel_init+0x15a/0x2df
> > [<c0105d87>] kernel_thread_helper+0x7/0x10
> > =======================
>
> Trying to kref_get() isa_driver.device_driver.kobj.kset->kobj.kref
> but it hasn't even been kref_init()'ed yet/already.
>
> > BUG: spinlock bad magic on CPU#0, swapper/1
> > lock: c1b6a888, .magic: 00000000, .owner: <none>/-1, .owner_cpu: 0
> > [<c0105f6e>] show_trace_log_lvl+0x19/0x2e
> > [<c0106067>] show_trace+0x12/0x14
> > [<c010607d>] dump_stack+0x14/0x16
> > [<c052b0be>] spin_bug+0xa1/0xa9
> > [<c052b289>] _raw_spin_lock+0x1e/0x104
> > [<c1385f7e>] _spin_lock+0x54/0x62
> > [<c051a026>] kobject_shadow_add+0x84/0x171
> > [<c051a11d>] kobject_add+0xa/0xc
> > [<c051a4ca>] kobject_register+0x1c/0x31
> > [<c06fd76d>] bus_add_driver+0x5c/0x16b
> > [<c06fe45a>] driver_register+0x66/0x6b
> > [<c0702575>] isa_register_driver+0x27/0x126
> > [<c1e81f9e>] pcwd_init_module+0x12/0x14
> > [<c1e50838>] kernel_init+0x15a/0x2df
> > [<c0105d87>] kernel_thread_helper+0x7/0x10
> > =======================
>
> Trying to spin_lock() isa_driver.device_driver.kobj.kset->list_lock
> but it hasn't even been spin_lock_init()'ed already.
>
> Greg/Cornelia, any idea when/why would such errors normally occur?

Might be some ordering problem (bus not registered yet). Is the isa bus
already up? Changing link order or initcall levels might help.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/