From: matthieu castet <castet.matthieu@free.fr>
To: linux-media@vger.kernel.org
Subject: dvb frontend lockup
Date: Sun, 21 Mar 2010 12:31:55 +0100 [thread overview]
Message-ID: <4BA603AB.6070809@free.fr> (raw)
Hi,
With my current kernel (2.6.32), if my dvb device is removed while in use, I got [1].
After checking the source code, the problem seems to happen also in master :
If there are users (for example users == -2) :
- dvb_unregister_frontend :
- stop kernel thread with dvb_frontend_stop :
- fepriv->exit = 1;
- thread loop catch stop event and break while loop
- fepriv->thread = NULL; and fepriv->exit = 0;
- dvb_unregister_frontend wait on "fepriv->dvbdev->wait_queue" that fepriv->dvbdev->users==-1.
The user finish :
- dvb_frontend_release
- set users to -1
- don't wait wait_queue because fepriv->exit != 1
=> dvb_unregister_frontend never exit the wait queue.
Matthieu
[ 4920.484047] khubd D c2008000 0 198 2 0x00000000
[ 4920.484056] f64c8000 00000046 00000000 c2008000 00000004 c13fa000 c13fa000 f
64c8000
[ 4920.484066] f64c81bc c2008000 00000000 d9d9dce6 00000452 00000001 f64c8000 c
102daad
[ 4920.484075] 00100100 f64c81bc 00000286 f0a7ccc0 f0913404 f0cba404 f644de58 f
092b0a8
[ 4920.484084] Call Trace:
[ 4920.484102] [<c102daad>] ? default_wake_function+0x0/0x8
[ 4920.484147] [<f8cb09e1>] ? dvb_unregister_frontend+0x95/0xcc [dvb_core]
[ 4920.484157] [<c1044412>] ? autoremove_wake_function+0x0/0x2d
[ 4920.484168] [<f8dd1af2>] ? dvb_usb_adapter_frontend_exit+0x12/0x21 [dvb_usb]
[ 4920.484176] [<f8dd12f1>] ? dvb_usb_exit+0x26/0x88 [dvb_usb]
[ 4920.484184] [<f8dd138d>] ? dvb_usb_device_exit+0x3a/0x4a [dvb_usb]
[ 4920.484217] [<f7fe1b08>] ? usb_unbind_interface+0x3f/0xb4 [usbcore]
[ 4920.484227] [<c11a4178>] ? __device_release_driver+0x74/0xb7
[ 4920.484233] [<c11a4247>] ? device_release_driver+0x15/0x1e
[ 4920.484243] [<c11a3a33>] ? bus_remove_device+0x6e/0x87
[ 4920.484249] [<c11a26d6>] ? device_del+0xfa/0x152
[ 4920.484264] [<f7fdf609>] ? usb_disable_device+0x59/0xb9 [usbcore]
[ 4920.484279] [<f7fdb9ee>] ? usb_disconnect+0x70/0xdc [usbcore]
[ 4920.484294] [<f7fdc728>] ? hub_thread+0x521/0xe1d [usbcore]
[ 4920.484301] [<c1044412>] ? autoremove_wake_function+0x0/0x2d
[ 4920.484316] [<f7fdc207>] ? hub_thread+0x0/0xe1d [usbcore]
[ 4920.484321] [<c10441e0>] ? kthread+0x61/0x66
[ 4920.484327] [<c104417f>] ? kthread+0x0/0x66
[ 4920.484336] [<c1003d47>] ? kernel_thread_helper+0x7/0x10
next reply other threads:[~2010-03-21 11:32 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-21 11:31 matthieu castet [this message]
2010-03-27 22:04 ` [PATCH] fix dvb frontend lockup matthieu castet
2010-04-03 19:41 ` matthieu castet
2010-05-04 0:07 ` Mauro Carvalho Chehab
2010-05-05 18:59 ` matthieu castet
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=4BA603AB.6070809@free.fr \
--to=castet.matthieu@free.fr \
--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.