From: Antti Palosaari <crope@iki.fi>
To: LMML <linux-media@vger.kernel.org>
Subject: em28xx DEADLOCK reported by lock debug
Date: Wed, 18 Dec 2013 18:04:44 +0200 [thread overview]
Message-ID: <52B1C79C.1070408@iki.fi> (raw)
That same lock debug deadlock is still there (maybe ~4 times I report it
during 2 years). Is that possible to fix easily at all?
Antti
joulu 18 17:56:37 localhost.localdomain kernel: usb 2-2: USB disconnect,
device number 2
joulu 18 17:56:37 localhost.localdomain kernel: em28174 #0:
disconnecting em28174 #0 video
joulu 18 17:56:37 localhost.localdomain kernel: joulu 18 17:56:37
localhost.localdomain kernel:
======================================================
joulu 18 17:56:37 localhost.localdomain kernel: [ INFO: possible
circular locking dependency detected ]
joulu 18 17:56:37 localhost.localdomain kernel: 3.13.0-rc1+ #77 Tainted:
G C O
joulu 18 17:56:37 localhost.localdomain kernel:
-------------------------------------------------------
joulu 18 17:56:37 localhost.localdomain kernel: khubd/34 is trying to
acquire lock:
joulu 18 17:56:37 localhost.localdomain kernel:
(em28xx_devlist_mutex){+.+.+.}, at: [<ffffffffa06edd0d>]
em28xx_close_extension+0x1d/0x70 [em28xx]
joulu 18 17:56:37 localhost.localdomain kernel:
but task is already
holding lock:
joulu 18 17:56:37 localhost.localdomain kernel: (&dev->lock){+.+.+.},
at: [<ffffffffa06eb689>] em28xx_usb_disconnect+0x99/0x140 [em28xx]
joulu 18 17:56:37 localhost.localdomain kernel:
which lock already
depends on the new lock.
joulu 18 17:56:37 localhost.localdomain kernel:
the existing dependency
chain (in reverse order) is:
joulu 18 17:56:37 localhost.localdomain kernel:
-> #1 (&dev->lock){+.+.+.}:
joulu 18 17:56:37 localhost.localdomain kernel:
[<ffffffff810bb386>] __lock_acquire+0x3d6/0xc40
joulu 18 17:56:37 localhost.localdomain kernel:
[<ffffffff810bbca0>] lock_acquire+0xb0/0x150
joulu 18 17:56:37 localhost.localdomain kernel:
[<ffffffff816be5b7>] mutex_lock_nested+0x77/0x3d0
joulu 18 17:56:37 localhost.localdomain kernel:
[<ffffffffa077b6d5>] em28xx_dvb_init+0x85/0x1b44 [em28xx_dvb]
joulu 18 17:56:37 localhost.localdomain kernel:
[<ffffffffa06eb908>] em28xx_register_extension+0x58/0xa0 [em28xx]
joulu 18 17:56:37 localhost.localdomain kernel:
[<ffffffffa0783010>] 0xffffffffa0783010
joulu 18 17:56:37 localhost.localdomain kernel:
[<ffffffff8100214a>] do_one_initcall+0xfa/0x1b0
joulu 18 17:56:37 localhost.localdomain kernel:
[<ffffffff810eec72>] load_module+0x13c2/0x1a80
joulu 18 17:56:37 localhost.localdomain kernel:
[<ffffffff810ef4c6>] SyS_finit_module+0x86/0xb0
joulu 18 17:56:37 localhost.localdomain kernel:
[<ffffffff816ca729>] system_call_fastpath+0x16/0x1b
joulu 18 17:56:37 localhost.localdomain kernel:
-> #0
(em28xx_devlist_mutex){+.+.+.}:
joulu 18 17:56:37 localhost.localdomain kernel:
[<ffffffff810b96b7>] validate_chain.isra.36+0x10d7/0x1130
joulu 18 17:56:37 localhost.localdomain kernel:
[<ffffffff810bb386>] __lock_acquire+0x3d6/0xc40
joulu 18 17:56:37 localhost.localdomain kernel:
[<ffffffff810bbca0>] lock_acquire+0xb0/0x150
joulu 18 17:56:37 localhost.localdomain kernel:
[<ffffffff816be5b7>] mutex_lock_nested+0x77/0x3d0
joulu 18 17:56:37 localhost.localdomain kernel:
[<ffffffffa06edd0d>] em28xx_close_extension+0x1d/0x70 [em28xx]
joulu 18 17:56:37 localhost.localdomain kernel:
[<ffffffffa06eb6a3>] em28xx_usb_disconnect+0xb3/0x140 [em28xx]
joulu 18 17:56:37 localhost.localdomain kernel:
[<ffffffff814b7c87>] usb_unbind_interface+0x67/0x1d0
joulu 18 17:56:37 localhost.localdomain kernel:
[<ffffffff814378ff>] __device_release_driver+0x7f/0xf0
joulu 18 17:56:37 localhost.localdomain kernel:
[<ffffffff81437995>] device_release_driver+0x25/0x40
joulu 18 17:56:37 localhost.localdomain kernel:
[<ffffffff814371fc>] bus_remove_device+0x11c/0x1a0
joulu 18 17:56:37 localhost.localdomain kernel:
[<ffffffff81433c26>] device_del+0x136/0x1d0
joulu 18 17:56:37 localhost.localdomain kernel:
[<ffffffff814b5660>] usb_disable_device+0xb0/0x290
joulu 18 17:56:37 localhost.localdomain kernel:
[<ffffffff814aa5f5>] usb_disconnect+0xb5/0x1d0
joulu 18 17:56:37 localhost.localdomain kernel:
[<ffffffff814acfe6>] hub_port_connect_change+0xd6/0xad0
joulu 18 17:56:37 localhost.localdomain kernel:
[<ffffffff814adcf3>] hub_events+0x313/0x9b0
joulu 18 17:56:37 localhost.localdomain kernel:
[<ffffffff814ae3c5>] hub_thread+0x35/0x190
joulu 18 17:56:37 localhost.localdomain kernel:
[<ffffffff8109044f>] kthread+0xff/0x120
joulu 18 17:56:37 localhost.localdomain kernel:
[<ffffffff816ca67c>] ret_from_fork+0x7c/0xb0
joulu 18 17:56:37 localhost.localdomain kernel:
other info that might
help us debug this:
joulu 18 17:56:37 localhost.localdomain kernel: Possible unsafe locking
scenario:
joulu 18 17:56:37 localhost.localdomain kernel: CPU0
CPU1
joulu 18 17:56:37 localhost.localdomain kernel: ----
----
joulu 18 17:56:37 localhost.localdomain kernel: lock(&dev->lock);
joulu 18 17:56:37 localhost.localdomain kernel:
lock(em28xx_devlist_mutex);
joulu 18 17:56:37 localhost.localdomain kernel:
lock(&dev->lock);
joulu 18 17:56:37 localhost.localdomain kernel:
lock(em28xx_devlist_mutex);
joulu 18 17:56:37 localhost.localdomain kernel:
*** DEADLOCK ***
joulu 18 17:56:37 localhost.localdomain kernel: 4 locks held by khubd/34:
joulu 18 17:56:37 localhost.localdomain kernel: #0:
(&__lockdep_no_validate__){......}, at: [<ffffffff814ada94>]
hub_events+0xb4/0x9b0
joulu 18 17:56:37 localhost.localdomain kernel: #1:
(&__lockdep_no_validate__){......}, at: [<ffffffff814aa5a6>]
usb_disconnect+0x66/0x1d0
joulu 18 17:56:37 localhost.localdomain kernel: #2:
(&__lockdep_no_validate__){......}, at: [<ffffffff8143798d>]
device_release_driver+0x1d/0x40
joulu 18 17:56:37 localhost.localdomain kernel: #3:
(&dev->lock){+.+.+.}, at: [<ffffffffa06eb689>]
em28xx_usb_disconnect+0x99/0x140 [em28xx]
joulu 18 17:56:37 localhost.localdomain kernel:
stack backtrace:
joulu 18 17:56:37 localhost.localdomain kernel: CPU: 3 PID: 34 Comm:
khubd Tainted: G C O 3.13.0-rc1+ #77
joulu 18 17:56:37 localhost.localdomain kernel: Hardware name: System
manufacturer System Product Name/M5A78L-M/USB3, BIOS 1503 11/14/2012
joulu 18 17:56:37 localhost.localdomain kernel: ffffffff824f59f0
ffff88030dbb98e8 ffffffff816b8da9 ffffffff824f59f0
joulu 18 17:56:37 localhost.localdomain kernel: ffff88030dbb9928
ffffffff816b2c9b ffff88030dbb9960 0000000000000003
joulu 18 17:56:37 localhost.localdomain kernel: ffff88030da1afd0
0000000000000004 ffff88030da1a8a0 ffff88030da1afd0
joulu 18 17:56:37 localhost.localdomain kernel: Call Trace:
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffff816b8da9>]
dump_stack+0x4d/0x66
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffff816b2c9b>]
print_circular_bug+0x200/0x20e
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffff810b96b7>]
validate_chain.isra.36+0x10d7/0x1130
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffff8101c413>] ?
native_sched_clock+0x13/0x80
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffff810bb386>]
__lock_acquire+0x3d6/0xc40
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffff810bb3a7>] ?
__lock_acquire+0x3f7/0xc40
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffff810bbca0>]
lock_acquire+0xb0/0x150
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffffa06edd0d>] ?
em28xx_close_extension+0x1d/0x70 [em28xx]
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffff816be5b7>]
mutex_lock_nested+0x77/0x3d0
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffffa06edd0d>] ?
em28xx_close_extension+0x1d/0x70 [em28xx]
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffff810b9e6d>] ?
trace_hardirqs_on+0xd/0x10
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffffa06edd0d>] ?
em28xx_close_extension+0x1d/0x70 [em28xx]
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffffa06eb689>] ?
em28xx_usb_disconnect+0x99/0x140 [em28xx]
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffffa06eb689>] ?
em28xx_usb_disconnect+0x99/0x140 [em28xx]
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffffa06edd0d>]
em28xx_close_extension+0x1d/0x70 [em28xx]
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffffa06eb6a3>]
em28xx_usb_disconnect+0xb3/0x140 [em28xx]
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffff814b7c87>]
usb_unbind_interface+0x67/0x1d0
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffff814378ff>]
__device_release_driver+0x7f/0xf0
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffff81437995>]
device_release_driver+0x25/0x40
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffff814371fc>]
bus_remove_device+0x11c/0x1a0
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffff81433c26>]
device_del+0x136/0x1d0
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffff814b5660>]
usb_disable_device+0xb0/0x290
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffff814aa5f5>]
usb_disconnect+0xb5/0x1d0
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffff814acfe6>]
hub_port_connect_change+0xd6/0xad0
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffff814b40a4>] ?
usb_control_msg+0xd4/0x110
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffff814adcf3>]
hub_events+0x313/0x9b0
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffff814ae3c5>]
hub_thread+0x35/0x190
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffff810b12d0>] ?
abort_exclusive_wait+0xb0/0xb0
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffff814ae390>] ?
hub_events+0x9b0/0x9b0
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffff8109044f>]
kthread+0xff/0x120
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffff81090350>] ?
kthread_create_on_node+0x250/0x250
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffff816ca67c>]
ret_from_fork+0x7c/0xb0
joulu 18 17:56:37 localhost.localdomain kernel: [<ffffffff81090350>] ?
kthread_create_on_node+0x250/0x250
joulu 18 17:56:37 localhost.localdomain kernel: tda18271 6-0060:
destroying instance
joulu 18 17:56:37 localhost.localdomain kernel: rc_unregister_device:
Freed keycode table
joulu 18 17:56:37 localhost.localdomain kernel: em28174 #0: V4L2 device
video0 deregistered
joulu 18 17:56:37 localhost.localdomain kernel: i2c i2c-6: adapter
[em28174 #0] unregistered
joulu 18 17:56:37 localhost.localdomain kernel: i2c i2c-5: adapter
[em28174 #0] unregistered
joulu 18 17:56:37 localhost.localdomain colord[603]: device removed:
sysfs-PCTV_Systems-PCTV_290e
--
http://palosaari.fi/
next reply other threads:[~2013-12-18 16:04 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-18 16:04 Antti Palosaari [this message]
2013-12-21 16:51 ` em28xx DEADLOCK reported by lock debug Frank Schäfer
2013-12-21 19:55 ` Antti Palosaari
2013-12-22 13:51 ` Frank Schäfer
2013-12-22 14:34 ` Antti Palosaari
2013-12-22 18:02 ` Frank Schäfer
2013-12-22 18:14 ` Antti Palosaari
2013-12-22 18:51 ` Frank Schäfer
2013-12-22 14:53 ` Mauro Carvalho Chehab
2013-12-22 18:12 ` Frank Schäfer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52B1C79C.1070408@iki.fi \
--to=crope@iki.fi \
--cc=linux-media@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.