Thread (6 messages) 6 messages, 4 authors, 2009-09-04

Re: INFO: possible recursive locking detected ps2_command

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2008-08-01 03:04:58
Also in: lkml

On Thu, Jul 31, 2008 at 02:57:39PM -0700, Andrew Morton wrote:
(cc linux-input)

On Thu, 31 Jul 2008 11:41:25 +0200
"Zdenek Kabelac" [off-list ref] wrote:
quoted
Hi

During mouse unplugging from psaux connector from the laptops' docking
station I've got attached INFO trace.
(laptops still has synaptics device)
Dell?
quoted
Also for unknown reason to me  psaux mouse & synaptic device do not
work somehow together - is it hw limitation
of /dev/input/mice  interface?
(USB mouse and synaptics do work quite well together)

[ INFO: possible recursive locking detected ]
2.6.27-rc1 #48
(it's 2.6.27-rc1)
Peter, here is the trace we talked about long time ago. For some reason
lockdep annotation only works once. If reconnect is forced or psmouse
module is reloaded lockdep starts complaining about passthrough port.
quoted
---------------------------------------------
kseriod/166 is trying to acquire lock:
 (&ps2dev->cmd_mutex){--..}, at: [<ffffffff8126e9ae>] ps2_command+0x5e/0x460

but task is already holding lock:
 (&ps2dev->cmd_mutex){--..}, at: [<ffffffff8126e9ae>] ps2_command+0x5e/0x460

other info that might help us debug this:
4 locks held by kseriod/166:
 #0:  (serio_mutex){--..}, at: [<ffffffff8126cc1e>] serio_thread+0x3e/0x410
 #1:  (&serio->drv_mutex){--..}, at: [<ffffffff8126bf8b>]
serio_connect_driver+0x2b/0x50
 #2:  (psmouse_mutex){--..}, at: [<ffffffffa009aa00>]
psmouse_connect+0x30/0x2c0 [psmouse]
 #3:  (&ps2dev->cmd_mutex){--..}, at: [<ffffffff8126e9ae>]
ps2_command+0x5e/0x460

stack backtrace:
Pid: 166, comm: kseriod Not tainted 2.6.27-rc1 #48

Call Trace:
 [<ffffffff81068bda>] __lock_acquire+0xcea/0x13b0
 [<ffffffff81066401>] ? trace_hardirqs_off_caller+0x21/0xc0
 [<ffffffff810664ad>] ? trace_hardirqs_off+0xd/0x10
 [<ffffffff8126e9ae>] ? ps2_command+0x5e/0x460
 [<ffffffff81069336>] lock_acquire+0x96/0xe0
 [<ffffffff8126e9ae>] ? ps2_command+0x5e/0x460
 [<ffffffff81313861>] mutex_lock_nested+0xc1/0x340
 [<ffffffff8126e9ae>] ? ps2_command+0x5e/0x460
 [<ffffffff810135a0>] ? native_sched_clock+0x90/0xb0
 [<ffffffff8126e9ae>] ps2_command+0x5e/0x460
 [<ffffffff81066401>] ? trace_hardirqs_off_caller+0x21/0xc0
 [<ffffffff81065834>] ? get_lock_stats+0x34/0x70
 [<ffffffffa009977d>] psmouse_sliced_command+0x2d/0x90 [psmouse]
 [<ffffffff8126e838>] ? ps2_sendbyte+0x48/0x130
 [<ffffffffa009b8f7>] synaptics_pt_write+0x27/0x60 [psmouse]
 [<ffffffff81315acd>] ? _spin_unlock_irq+0x3d/0x80
 [<ffffffff8126e84d>] ps2_sendbyte+0x5d/0x130
 [<ffffffff81319840>] ? sub_preempt_count+0x80/0x120
 [<ffffffff8126ea4d>] ps2_command+0xfd/0x460
 [<ffffffff81319840>] ? sub_preempt_count+0x80/0x120
 [<ffffffff81315acd>] ? _spin_unlock_irq+0x3d/0x80
 [<ffffffffa0099917>] psmouse_probe+0x27/0xa0 [psmouse]
 [<ffffffff8126c1e1>] ? serio_open+0x11/0x50
 [<ffffffffa009ab48>] psmouse_connect+0x178/0x2c0 [psmouse]
 [<ffffffff8126bf96>] serio_connect_driver+0x36/0x50
 [<ffffffff8126bfcb>] serio_driver_probe+0x1b/0x20
 [<ffffffff81221112>] driver_probe_device+0xa2/0x1e0
 [<ffffffff812212e0>] ? __device_attach+0x0/0x10
 [<ffffffff812212e9>] __device_attach+0x9/0x10
 [<ffffffff8122050b>] bus_for_each_drv+0x6b/0xa0
 [<ffffffff812213b8>] device_attach+0x88/0x90
 [<ffffffff812202d5>] bus_attach_device+0x55/0x80
 [<ffffffff8121ee99>] device_add+0x4f9/0x610
 [<ffffffff81319840>] ? sub_preempt_count+0x80/0x120
 [<ffffffff8126ce1c>] serio_thread+0x23c/0x410
 [<ffffffff810571a0>] ? autoremove_wake_function+0x0/0x40
 [<ffffffff8126cbe0>] ? serio_thread+0x0/0x410
 [<ffffffff81056de9>] kthread+0x49/0x90
 [<ffffffff8100d669>] child_rip+0xa/0x11
 [<ffffffff8103b757>] ? finish_task_switch+0x57/0x110
 [<ffffffff81315acd>] ? _spin_unlock_irq+0x3d/0x80
 [<ffffffff8100cc73>] ? restore_args+0x0/0x30
 [<ffffffff810664ad>] ? trace_hardirqs_off+0xd/0x10
 [<ffffffff81056da0>] ? kthread+0x0/0x90
 [<ffffffff8100d65f>] ? child_rip+0x0/0x11
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
-- 
Dmitry
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help