Bug 732702 - INFO: possible recursive locking detected at ps2dev->cmd_mutex
Summary: INFO: possible recursive locking detected at ps2dev->cmd_mutex
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 16
Hardware: x86_64
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-08-23 10:51 UTC by Mikko Tiihonen
Modified: 2012-03-23 16:36 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-03-23 16:36:26 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Mikko Tiihonen 2011-08-23 10:51:29 UTC
Description of problem:
[ INFO: possible recursive locking detected ]
3.0.1-3.fc16.x86_64 #1
---------------------------------------------
kworker/7:0/13732 is trying to acquire lock:
 (&ps2dev->cmd_mutex){+.+...}, at: [<ffffffff8138c5f2>] ps2_begin_command+0x1a/0x2f

but task is already holding lock:
 (&ps2dev->cmd_mutex){+.+...}, at: [<ffffffff8138c5f2>] ps2_begin_command+0x1a/0x2f

other info that might help us debug this:
 Possible unsafe locking scenario:

       CPU0
       ----
  lock(&ps2dev->cmd_mutex);
  lock(&ps2dev->cmd_mutex);

 *** DEADLOCK ***

 May be due to missing lock nesting notation

7 locks held by kworker/7:0/13732:
 #0:  (events_long){.+.+.+}, at: [<ffffffff81071740>] process_one_work+0x14d/0x379
 #1:  (serio_event_work){+.+.+.}, at: [<ffffffff81071740>] process_one_work+0x14d/0x379
 #2:  (serio_mutex){+.+.+.}, at: [<ffffffff8138a83c>] serio_handle_event+0x1e/0x197
 #3:  (&__lockdep_no_validate__){+.+.+.}, at: [<ffffffff8130b5d9>] device_attach+0x21/0xa4
 #4:  (&serio->drv_mutex){+.+.+.}, at: [<ffffffff81389972>] serio_driver_probe+0x31/0x57
 #5:  (psmouse_mutex){+.+.+.}, at: [<ffffffff81396fb3>] psmouse_connect+0x2d/0x2cb
 #6:  (&ps2dev->cmd_mutex){+.+...}, at: [<ffffffff8138c5f2>] ps2_begin_command+0x1a/0x2f

stack backtrace:
Pid: 13732, comm: kworker/7:0 Not tainted 3.0.1-3.fc16.x86_64 #1
Call Trace:
 [<ffffffff8108a3b9>] __lock_acquire+0x917/0xcf7
 [<ffffffff8109309b>] ? __module_text_address+0x14/0x5e
 [<ffffffff81096341>] ? is_module_text_address+0xe/0x16
 [<ffffffff81073a12>] ? __kernel_text_address+0x26/0x4c
 [<ffffffff8100bd0a>] ? print_context_stack+0xc0/0xd8
 [<ffffffff8138c5f2>] ? ps2_begin_command+0x1a/0x2f
 [<ffffffff8108ac26>] lock_acquire+0xbf/0x103
 [<ffffffff8138c5f2>] ? ps2_begin_command+0x1a/0x2f
 [<ffffffff8100af3a>] ? dump_trace+0x2fe/0x30d
 [<ffffffff8138c5f2>] ? ps2_begin_command+0x1a/0x2f
 [<ffffffff814db822>] __mutex_lock_common+0x4c/0x361
 [<ffffffff8138c5f2>] ? ps2_begin_command+0x1a/0x2f
 [<ffffffff81089f92>] ? __lock_acquire+0x4f0/0xcf7
 [<ffffffff81014245>] ? save_stack_trace+0x2c/0x49
 [<ffffffff81087eea>] ? save_trace+0x3d/0xa7
 [<ffffffff814dbc46>] mutex_lock_nested+0x40/0x45
 [<ffffffff8138c5f2>] ps2_begin_command+0x1a/0x2f
 [<ffffffff8138c624>] ps2_command+0x1d/0x41
 [<ffffffff81396b0d>] psmouse_sliced_command+0x28/0x7a
 [<ffffffff81397a6d>] synaptics_pt_write+0x39/0x63
 [<ffffffff8138c137>] ps2_sendbyte+0x5d/0x120
 [<ffffffff8108b029>] ? trace_hardirqs_on_caller+0x10b/0x12f
 [<ffffffff8108b05a>] ? trace_hardirqs_on+0xd/0xf
 [<ffffffff8138c311>] __ps2_command+0xee/0x389
 [<ffffffff814dbc46>] ? mutex_lock_nested+0x40/0x45
 [<ffffffff8138c633>] ps2_command+0x2c/0x41
 [<ffffffff813960e5>] psmouse_probe+0x32/0x83
 [<ffffffff813970f8>] psmouse_connect+0x172/0x2cb
 [<ffffffff8138a81e>] ? serio_rebind_driver+0x1dd/0x1dd
 [<ffffffff8138997f>] serio_driver_probe+0x3e/0x57
 [<ffffffff8130b563>] ? driver_sysfs_add+0x70/0x96
 [<ffffffff8130b7d3>] driver_probe_device+0x131/0x213
 [<ffffffff8130b971>] __device_attach+0x3a/0x3f
 [<ffffffff8130b937>] ? __driver_attach+0x82/0x82
 [<ffffffff8130a501>] bus_for_each_drv+0x59/0x8f
 [<ffffffff8130b638>] device_attach+0x80/0xa4
 [<ffffffff81389a4f>] serio_find_driver+0x1e/0x45
 [<ffffffff8138a5c4>] serio_reconnect_port+0x62/0x6e
 [<ffffffff8138a8f5>] serio_handle_event+0xd7/0x197
 [<ffffffff810717c1>] process_one_work+0x1ce/0x379
 [<ffffffff81071740>] ? process_one_work+0x14d/0x379
 [<ffffffff81088ba4>] ? lock_acquired+0x1f6/0x229
 [<ffffffff810724c1>] worker_thread+0xda/0x15d
 [<ffffffff810723e7>] ? manage_workers+0x175/0x175
 [<ffffffff810723e7>] ? manage_workers+0x175/0x175
 [<ffffffff81075e5d>] kthread+0xa8/0xb0
 [<ffffffff814e5064>] kernel_thread_helper+0x4/0x10
 [<ffffffff814dd714>] ? retint_restore_args+0x13/0x13
 [<ffffffff81075db5>] ? __init_kthread_worker+0x5a/0x5a
 [<ffffffff814e5060>] ? gs_change+0x13/0x13


Version-Release number of selected component (if applicable):
kernel 3.0.1-3.fc16.x86_64

How reproducible:
Occured once

Steps to Reproduce:
1. hibernate laptop

Comment 1 Dave Jones 2012-03-22 16:39:00 UTC
[mass update]
kernel-3.3.0-4.fc16 has been pushed to the Fedora 16 stable repository.
Please retest with this update.

Comment 2 Dave Jones 2012-03-22 16:44:01 UTC
[mass update]
kernel-3.3.0-4.fc16 has been pushed to the Fedora 16 stable repository.
Please retest with this update.

Comment 3 Dave Jones 2012-03-22 16:52:27 UTC
[mass update]
kernel-3.3.0-4.fc16 has been pushed to the Fedora 16 stable repository.
Please retest with this update.

Comment 4 Mikko Tiihonen 2012-03-23 15:33:47 UTC
This bug no longer occurs when hibernating on kernel-3.3.0-1.fc17.x86_64


Note You need to log in before you can comment on or make changes to this bug.