public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
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/

             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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox