Bug 15371

Summary: [synaptics] possible recursive locking
Product: Drivers Reporter: Marcus Better (marcus)
Component: Input DevicesAssignee: drivers_input-devices
Status: RESOLVED DUPLICATE    
Severity: low CC: dmitry.torokhov
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.32.8 Subsystem:
Regression: No Bisected commit-id:

Description Marcus Better 2010-02-22 10:21:52 UTC
I got this on my Thinkpad T60 (x86_64).

Looks rather similar to
  http://lkml.org/lkml/2006/10/4/399

Feb 22 09:36:06 better kernel: =============================================
Feb 22 09:36:06 better kernel: [ INFO: possible recursive locking detected ]
Feb 22 09:36:06 better kernel: 2.6.32.8-melech #4
Feb 22 09:36:06 better kernel: ---------------------------------------------
Feb 22 09:36:06 better kernel: kseriod/238 is trying to acquire lock:
Feb 22 09:36:06 better kernel: (&ps2dev->cmd_mutex){+.+...}, at: [<ffffffff812caac7>] ps2_begin_command+0x17/0x40
Feb 22 09:36:06 better kernel:
Feb 22 09:36:06 better kernel: but task is already holding lock:
Feb 22 09:36:06 better kernel: (&ps2dev->cmd_mutex){+.+...}, at: [<ffffffff812caac7>] ps2_begin_command+0x17/0x40
Feb 22 09:36:06 better kernel:
Feb 22 09:36:06 better kernel: other info that might help us debug this:
Feb 22 09:36:06 better kernel: 4 locks held by kseriod/238:
Feb 22 09:36:06 better kernel: #0:  (serio_mutex){+.+.+.}, at: [<ffffffff812c891e>] serio_thread+0x4e/0x400
Feb 22 09:36:06 better kernel: #1:  (&serio->drv_mutex){+.+.+.}, at: [<ffffffff812c7d1b>] serio_connect_driver+0x2b/0x50
Feb 22 09:36:06 better kernel: #2:  (psmouse_mutex){+.+.+.}, at: [<ffffffffa030bd26>] psmouse_connect+0x26/0x360 [psmouse]
Feb 22 09:36:06 better kernel: #3:  (&ps2dev->cmd_mutex){+.+...}, at: [<ffffffff812caac7>] ps2_begin_command+0x17/0x40
Feb 22 09:36:06 better kernel:
Feb 22 09:36:06 better kernel: stack backtrace:
Feb 22 09:36:06 better kernel: Pid: 238, comm: kseriod Not tainted 2.6.32.8-melech #4
Feb 22 09:36:06 better kernel: Call Trace:
Feb 22 09:36:06 better kernel: [<ffffffff8108384b>] __lock_acquire+0x108b/0x1d10
Feb 22 09:36:06 better kernel: [<ffffffff81010d61>] ? print_context_stack+0x81/0xe0
Feb 22 09:36:06 better kernel: [<ffffffff8100f8f2>] ? dump_trace+0x122/0x300
Feb 22 09:36:06 better kernel: [<ffffffff810845d2>] lock_acquire+0x102/0x140
Feb 22 09:36:06 better kernel: [<ffffffff812caac7>] ? ps2_begin_command+0x17/0x40
Feb 22 09:36:06 better kernel: [<ffffffff812caac7>] ? ps2_begin_command+0x17/0x40
Feb 22 09:36:06 better kernel: [<ffffffff8139fabc>] mutex_lock_nested+0x5c/0x3b0
Feb 22 09:36:06 better kernel: [<ffffffff812caac7>] ? ps2_begin_command+0x17/0x40
Feb 22 09:36:06 better kernel: [<ffffffff812caac7>] ps2_begin_command+0x17/0x40
Feb 22 09:36:06 better kernel: [<ffffffff812cab12>] ps2_command+0x22/0x50
Feb 22 09:36:06 better kernel: [<ffffffffa030a7bd>] psmouse_sliced_command+0x2d/0x90 [psmouse]
Feb 22 09:36:06 better kernel: [<ffffffffa030d087>] synaptics_pt_write+0x37/0x70 [psmouse]
Feb 22 09:36:06 better kernel: [<ffffffff812ca54d>] ps2_sendbyte+0x5d/0x130
Feb 22 09:36:06 better kernel: [<ffffffff813a11b1>] ? _spin_unlock_irq+0x31/0x60
Feb 22 09:36:06 better kernel: [<ffffffff812ca72f>] __ps2_command+0xdf/0x430
Feb 22 09:36:06 better kernel: [<ffffffff812cab20>] ps2_command+0x30/0x50
Feb 22 09:36:06 better kernel: [<ffffffffa030a957>] psmouse_probe+0x27/0xa0 [psmouse]
Feb 22 09:36:06 better kernel: [<ffffffff812c8181>] ? serio_open+0x11/0x50
Feb 22 09:36:06 better kernel: [<ffffffffa030beb5>] psmouse_connect+0x1b5/0x360 [psmouse]
Feb 22 09:36:06 better kernel: [<ffffffff812c7d26>] serio_connect_driver+0x36/0x50
Feb 22 09:36:06 better kernel: [<ffffffff812c7d5b>] serio_driver_probe+0x1b/0x20
Feb 22 09:36:06 better kernel: [<ffffffff812899e5>] driver_probe_device+0x95/0x1a0
Feb 22 09:36:06 better kernel: [<ffffffff81289b90>] ? __device_attach+0x0/0x50
Feb 22 09:36:06 better kernel: [<ffffffff81289bdb>] __device_attach+0x4b/0x50
Feb 22 09:36:06 better kernel: [<ffffffff81288d38>] bus_for_each_drv+0x68/0x90
Feb 22 09:36:06 better kernel: [<ffffffff81289ca8>] device_attach+0x88/0x90
Feb 22 09:36:06 better kernel: [<ffffffff812c80c8>] serio_find_driver+0x18/0x40
Feb 22 09:36:06 better kernel: [<ffffffff812c84a2>] serio_reconnect_port+0x52/0x90
Feb 22 09:36:06 better kernel: [<ffffffff812c8baa>] serio_thread+0x2da/0x400
Feb 22 09:36:06 better kernel: [<ffffffff812c88d0>] ? serio_thread+0x0/0x400
Feb 22 09:36:06 better kernel: [<ffffffff8106dec0>] ? autoremove_wake_function+0x0/0x40
Feb 22 09:36:06 better kernel: [<ffffffff812c88d0>] ? serio_thread+0x0/0x400
Feb 22 09:36:06 better kernel: [<ffffffff8106daf6>] kthread+0x96/0xa0
Feb 22 09:36:06 better kernel: [<ffffffff8100d09a>] child_rip+0xa/0x20
Feb 22 09:36:06 better kernel: [<ffffffff8100ca00>] ? restore_args+0x0/0x30
Feb 22 09:36:06 better kernel: [<ffffffff8106da60>] ? kthread+0x0/0xa0
Feb 22 09:36:06 better kernel: [<ffffffff8100d090>] ? child_rip+0x0/0x20
Comment 1 Dmitry Torokhov 2010-02-22 22:10:03 UTC

*** This bug has been marked as a duplicate of bug 11215 ***