Re: 2.6.32-rc5-git1 -- INFO: possible circular locking dependencydetected

From: Johannes Berg
Date: Fri Oct 23 2009 - 09:35:20 EST


On Tue, 2009-10-20 at 09:37 -0400, Miles Lane wrote:
> Resending with wrapping off and time info removed:

Hey, thanks for that!

> [ INFO: possible circular locking dependency detected ]
> 2.6.32-rc5-git1 #1
> -------------------------------------------------------
> events/0/9 is trying to acquire lock:
> (&rfkill->sync_work){+.+.+.}, at: [<c1039083>]
> __cancel_work_timer+0x81/0x181
>
> but task is already holding lock:
> (&ehotk->hotplug_lock){+.+.+.}, at: [<f8587708>]
> eeepc_rfkill_hotplug+0x45/0xda [eeepc_laptop]
>
> which lock already depends on the new lock.
>
>
> the existing dependency chain (in reverse order) is:
>
> -> #2 (&ehotk->hotplug_lock){+.+.+.}:

> [<c129e5ee>] mutex_lock_nested+0x2b/0x33
> [<f8587708>] eeepc_rfkill_hotplug+0x45/0xda [eeepc_laptop]
> [<f858787c>] eeepc_rfkill_set+0x1d/0x2d [eeepc_laptop]
> [<f83f4a9f>] rfkill_set_block+0x6f/0xb1 [rfkill]
> [<f83f4b78>] __rfkill_switch_all+0x2e/0x51 [rfkill]
> [<f83f4c12>] rfkill_switch_all+0x33/0x41 [rfkill]
> [<f83f51b0>] rfkill_op_handler+0xf0/0x11e [rfkill]
> [<c1038965>] worker_thread+0x161/0x233
> [<c103b883>] kthread+0x5f/0x64
> [<c1003613>] kernel_thread_helper+0x7/0x10
>
> -> #1 (rfkill_global_mutex){+.+.+.}:
> [<c104ac60>] __lock_acquire+0x9fb/0xb6d
> [<c104ae2e>] lock_acquire+0x5c/0x73
> [<c129e223>] __mutex_lock_common+0x39/0x375
> [<c129e5ee>] mutex_lock_nested+0x2b/0x33
> [<f83f4c36>] rfkill_sync_work+0x16/0x35 [rfkill]

Hmm. It seems eeepc takes the hotplug lock in the set path, but also
elsewhere? Seems like a bug in eeepc, Alan?

johannes

Attachment: signature.asc
Description: This is a digitally signed message part