[RT] Lockdep warning on boot with 2.6.31-rc5-rt1.1

From: Clark Williams
Date: Fri Aug 07 2009 - 10:46:36 EST


Peter,

I'm getting this warning from lockdep when booting on my T60.

The two addresses reported (0xffffffff812664a2 and 0xffffffff812664ae)
actually bracket one call to mutex_lock() in driver_attach() so I'm not
sure what the complaint is.

Clark

=============================================
[ INFO: possible recursive locking detected ]
2.6.31-rc5-rt1.1 #37
---------------------------------------------
swapper/1 is trying to acquire lock:
(&dev->mutex){+.+...}, at: [<ffffffff812664ae>]
__driver_attach+0x48/0x81

but task is already holding lock:
(&dev->mutex){+.+...}, at: [<ffffffff812664a2>]
__driver_attach+0x3c/0x81

other info that might help us debug this:
1 lock held by swapper/1:
#0: (&dev->mutex){+.+...}, at: [<ffffffff812664a2>]
__driver_attach+0x3c/0x81

stack backtrace:
Pid: 1, comm: swapper Not tainted 2.6.31-rc5-rt1.1 #37
Call Trace:
[<ffffffff81071e38>] __lock_acquire+0x14ae/0x153c
[<ffffffff812664ae>] ? __driver_attach+0x48/0x81
[<ffffffff81071fc3>] lock_acquire+0xfd/0x129
[<ffffffff812664ae>] ? __driver_attach+0x48/0x81
[<ffffffff8137b667>] _mutex_lock+0x31/0x40
[<ffffffff812664ae>] ? __driver_attach+0x48/0x81
[<ffffffff812664ae>] __driver_attach+0x48/0x81
[<ffffffff81266466>] ? __driver_attach+0x0/0x81
[<ffffffff81265b9c>] bus_for_each_dev+0x59/0x8e
[<ffffffff81266245>] driver_attach+0x1e/0x20
[<ffffffff81265465>] bus_add_driver+0x13f/0x288
[<ffffffff812667b3>] driver_register+0x9d/0x10e
[<ffffffff81207e26>] acpi_bus_register_driver+0x43/0x45
[<ffffffff815f5fdf>] acpi_ec_init+0x37/0x55
[<ffffffff815f5d47>] acpi_init+0x224/0x265
[<ffffffff815f5b23>] ? acpi_init+0x0/0x265
[<ffffffff81009080>] do_one_initcall+0x75/0x18a
[<ffffffff8106dd0a>] ? put_lock_stats+0xe/0x27
[<ffffffff8137b3d1>] ? rt_spin_unlock+0x23/0x6d
[<ffffffff8106dcc8>] ? get_lock_stats+0x16/0x4a
[<ffffffff8106dcc8>] ? get_lock_stats+0x16/0x4a
[<ffffffff81145616>] ? proc_register+0x18c/0x1a2
[<ffffffff8137e6fe>] ? sub_preempt_count+0x35/0x49
[<ffffffff8106dd0a>] ? put_lock_stats+0xe/0x27
[<ffffffff8106de1c>] ? lock_release_holdtime+0xf9/0xfe
[<ffffffff8137b3d1>] ? rt_spin_unlock+0x23/0x6d
[<ffffffff81145616>] ? proc_register+0x18c/0x1a2
[<ffffffff8114574a>] ? create_proc_entry+0x79/0x91
[<ffffffff8109c069>] ? register_irq_proc+0xb3/0xcf
[<ffffffff81140000>] ? pde_users_dec+0x20/0x45
[<ffffffff815d370a>] kernel_init+0x17e/0x28b
[<ffffffff8100d15a>] child_rip+0xa/0x20
[<ffffffff8100ca94>] ? restore_args+0x0/0x30
[<ffffffff815d358c>] ? kernel_init+0x0/0x28b
[<ffffffff8100d150>] ? child_rip+0x0/0x20
---------------------------
| preempt count: 00000000 ]
| 0-level deep critical section nesting:
----------------------------------------

Attachment: signature.asc
Description: PGP signature