Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 455521 - -138.fc10: INFO: possible circular locking dependency detected, associated with USB camera
Summary: -138.fc10: INFO: possible circular locking dependency detected, associated wi...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: rawhide
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-07-15 20:48 UTC by Tom London
Modified: 2008-08-05 22:49 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-08-05 22:49:05 UTC


Attachments (Terms of Use)

Description Tom London 2008-07-15 20:48:09 UTC
Description of problem:
Got this unplugging a USB-cam:

usb 1-5: USB disconnect, address 9
usb 1-5: unregistering device
usb 1-5: usb_disable_device nuking all URBs
usb 1-5: unlink qh16-0001/f7a54680 start 15 [1/0 us]
ehci_hcd 0000:00:1d.7: shutdown urb c4d42a50 ep7in-intr
usb 1-5: unregistering interface 1-5:1.0

=======================================================
[ INFO: possible circular locking dependency detected ]
2.6.26-138.fc10.i686 #1
-------------------------------------------------------
khubd/187 is trying to acquire lock:
 (videodev_lock){--..}, at: [<f92e947f>] video_unregister_device+0x12/0x4f
[videodev]

but task is already holding lock:
 (&uvc_driver.open_mutex){--..}, at: [<f932119b>] uvc_disconnect+0x29/0x47
[uvcvideo]

which lock already depends on the new lock.


the existing dependency chain (in reverse order) is:

-> #1 (&uvc_driver.open_mutex){--..}:
       [<c0448957>] __lock_acquire+0xaa0/0xc18
       [<c0448b39>] lock_acquire+0x6a/0x90
       [<c0669cc9>] mutex_lock_nested+0xdb/0x271
       [<f93239f1>] uvc_v4l2_open+0x28/0xa1 [uvcvideo]
       [<f92e9414>] video_open+0xc1/0x11a [videodev]
       [<c0491b88>] chrdev_open+0x119/0x135
       [<c048de3d>] __dentry_open+0x159/0x251
       [<c048dfbc>] nameidata_to_filp+0x1f/0x33
       [<c04992b8>] do_filp_open+0x348/0x6c8
       [<c048dc03>] do_sys_open+0x40/0xb6
       [<c048dcbb>] sys_open+0x1e/0x26
       [<c0404c76>] syscall_call+0x7/0xb
       [<ffffffff>] 0xffffffff

-> #0 (videodev_lock){--..}:
       [<c0448876>] __lock_acquire+0x9bf/0xc18
       [<c0448b39>] lock_acquire+0x6a/0x90
       [<c0669cc9>] mutex_lock_nested+0xdb/0x271
       [<f92e947f>] video_unregister_device+0x12/0x4f [videodev]
       [<f9322fa7>] uvc_delete+0x2a/0xbb [uvcvideo]
       [<c0504981>] kref_put+0x39/0x44
       [<f93211ac>] uvc_disconnect+0x3a/0x47 [uvcvideo]
       [<c05b4b7d>] usb_unbind_interface+0x47/0x8a
       [<c057a3ef>] __device_release_driver+0x78/0x96
       [<c057a4c2>] device_release_driver+0x1b/0x26
       [<c0579c2f>] bus_remove_device+0x82/0x9c
       [<c0578b7f>] device_del+0xda/0x14f
       [<c05b25fb>] usb_disable_device+0xb7/0x122
       [<c05ae2f9>] usb_disconnect+0xa2/0x139
       [<c05af3a2>] hub_thread+0x689/0x100a
       [<c043bd37>] kthread+0x3b/0x61
       [<c040590f>] kernel_thread_helper+0x7/0x10
       [<ffffffff>] 0xffffffff

other info that might help us debug this:

1 lock held by khubd/187:
 #0:  (&uvc_driver.open_mutex){--..}, at: [<f932119b>] uvc_disconnect+0x29/0x47
[uvcvideo]

stack backtrace:
Pid: 187, comm: khubd Not tainted 2.6.26-138.fc10.i686 #1
 [<c0447ca1>] print_circular_bug_tail+0x5b/0x66
 [<c0447bc4>] ? print_circular_bug_header+0xa6/0xb1
 [<c0448876>] __lock_acquire+0x9bf/0xc18
 [<c0448b39>] lock_acquire+0x6a/0x90
 [<f92e947f>] ? video_unregister_device+0x12/0x4f [videodev]
 [<c0669cc9>] mutex_lock_nested+0xdb/0x271
 [<f92e947f>] ? video_unregister_device+0x12/0x4f [videodev]
 [<f92e947f>] ? video_unregister_device+0x12/0x4f [videodev]
 [<f92e947f>] video_unregister_device+0x12/0x4f [videodev]
 [<f9322fa7>] uvc_delete+0x2a/0xbb [uvcvideo]
 [<f9322f7d>] ? uvc_delete+0x0/0xbb [uvcvideo]
 [<c0504981>] kref_put+0x39/0x44
 [<f93211ac>] uvc_disconnect+0x3a/0x47 [uvcvideo]
 [<c05b4b7d>] usb_unbind_interface+0x47/0x8a
 [<c057a3ef>] __device_release_driver+0x78/0x96
 [<c057a4c2>] device_release_driver+0x1b/0x26
 [<c0579c2f>] bus_remove_device+0x82/0x9c
 [<c0578b7f>] device_del+0xda/0x14f
 [<c05b25fb>] usb_disable_device+0xb7/0x122
 [<c05ae2f9>] usb_disconnect+0xa2/0x139
 [<c05af3a2>] hub_thread+0x689/0x100a
 [<c043bf93>] ? autoremove_wake_function+0x0/0x33
 [<c05aed19>] ? hub_thread+0x0/0x100a
 [<c043bd37>] kthread+0x3b/0x61
 [<c043bcfc>] ? kthread+0x0/0x61
 [<c040590f>] kernel_thread_helper+0x7/0x10
 =======================
usb 1-5:1.0: uevent
usb 1-5: unregistering interface 1-5:1.1
usb 1-5:1.1: uevent
usb 1-5: unregistering interface 1-5:1.2
usb 1-5:1.2: uevent
usb 1-5: unregistering interface 1-5:1.3
usb 1-5:1.3: uevent
usb 1-5: uevent
hub 1-0:1.0: debounce: port 5: total 100ms stable 100ms status 0x100


Version-Release number of selected component (if applicable):
kernel-2.6.26-138.fc10.i686

How reproducible:
Don't know

Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Dave Jones 2008-07-15 21:12:06 UTC
already reported upstream, and a patch pending.  I'll merge it into rawhide in
the meantime.

Comment 2 Tom London 2008-07-24 00:28:31 UTC
I can no longer reproduce this.

Close?


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