dvb_unregister_frontend hanging on fepriv->dvbdev->users when called from smsdvb_unregister_client

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I am trying to figure out why the smsxxx MiniStick isn't unregistered correctly
when I pull out the stick while kaffeine is playing. It gets as far as calling
smsdvb_unregister_client
  dvb_unregister_frontend

where it hangs at 
  	if (fepriv->dvbdev->users < -1)
		wait_event(fepriv->dvbdev->wait_queue,
				fepriv->dvbdev->users==-1);

When I move dvb_unregister_frontend further down, after dvb_dmxdev_release()
and dvb_dmx_release() the deadlock is resolved. 
Pluging the stick back in and repeating the process results in an Ooops in the 
kdvb-ad thread however, which appears pretty exactly repeatable:

Dec  8 22:31:55 localhost kernel: [24035.987045] BUG: unable to handle kernel paging request at 016a2cef
Dec  8 22:31:55 localhost kernel: [24035.987052] IP: [<c11d486b>] do_raw_spin_lock+0xb/0x104
Dec  8 22:31:55 localhost kernel: [24035.987062] *pde = 00000000 
Dec  8 22:31:55 localhost kernel: [24035.987065] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
Dec  8 22:31:55 localhost kernel: [24035.987069] last sysfs file: /sys/devices/platform/coretemp.1/temp1_input
Dec  8 22:31:55 localhost kernel: [24035.987074] Modules linked in: smsdvb dvb_core rc_rc5_hauppauge_new ir_lirc_codec lirc_dev ir_sony_decoder ir_jvc_decoder ir_rc6_decoder ir_rc5_decoder smsusb ir_nec_decoder smsmdtv ir_core ppp_deflate ppp_async crc_ccitt ppp_generic slhc fuse i915 drm_kms_helper drm i2c_algo_bit video output nfsd lockd nfs_acl auth_rpcgss exportfs autofs4 coretemp w83627ehf hwmon_vid hwmon tun sunrpc xt_multiport nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack xt_tcpudp ipt_LOG xt_limit iptable_filter ip_tables x_tables ipv6 binfmt_misc dm_multipath snd_hda_codec_realtek snd_hda_intel deflate snd_hda_codec zlib_deflate ctr twofish_generic twofish_i586 twofish_common camellia rt2500usb arc4 snd_hwdep serpent ecb snd_seq_dummy snd_seq_oss blowfish cast5 des_generic snd_seq_midi_event xcbc snd_seq rmd160 sha512_generic snd_seq_device rt73usb snd_pcm_oss crc_itu_t crypto_null rt2x00usb snd_mixer_oss rt2x00lib snd_pcm iTCO_wdt iTCO_vendor_support snd_timer mac80211 i2c_i801 option snd intel_aDec  8 22:31:55 localhost kernel: gp i2c_core cfg80211 soundcore agpgart usb_wwan led_class psmouse snd_page_alloc r8169 ppdev mac_hid rfkill usbserial parport_pc mii processor button parport rtc_cmos pcspkr thermal evbug serio_raw piix ata_generic ide_pci_generic pata_acpi sha256_generic cbc aes_i586 aes_generic dm_crypt dm_snapshot dm_zero dm_mirror dm_region_hash dm_log dm_mod ehci_hcd [last unloaded: microcode]
Dec  8 22:31:55 localhost kernel: [24035.987199] 

Dec  8 22:31:55 localhost kernel: [24035.987199] 
Dec  8 22:31:55 localhost kernel: [24035.987203] Pid: 22798, comm: kdvb-ad-0-fe-0 Not tainted 2.6.36.1v1 #4 945GCM-S/To Be Filled 
By O.E.M.
Dec  8 22:31:55 localhost kernel: [24035.987206] EIP: 0060:[<c11d486b>] EFLAGS: 00010086 CPU: 1
Dec  8 22:31:55 localhost kernel: [24035.987209] EIP is at do_raw_spin_lock+0xb/0x104
Dec  8 22:31:55 localhost kernel: [24035.987211] EAX: 016a2ceb EBX: 016a2ceb ECX: 00000000 EDX: 00000000
Dec  8 22:31:55 localhost kernel: [24035.987214] ESI: 00000246 EDI: 016a2ceb EBP: f134be98 ESP: f134be78
Dec  8 22:31:55 localhost kernel: [24035.987216]  DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
Dec  8 22:31:55 localhost kernel: [24035.987219] Process kdvb-ad-0-fe-0 (pid: 22798, ti=f134a000 task=f036c800 task.ti=f134a000)
Dec  8 22:31:55 localhost kernel: [24035.987221] Stack:
Dec  8 22:31:55 localhost kernel: [24035.987223]  f9a92613 00000000 c104095d 00000000 016a2cfb 016a2ceb 00000246 016a2ceb
Dec  8 22:31:55 localhost kernel: [24035.987230] <0> f134beb8 c13705f9 00000000 00000002 00000000 f9a92613 016a2cd3 00000000
Dec  8 22:31:55 localhost kernel: [24035.987238] <0> f134bedc f9a92613 000000c9 00000000 00000286 f134bf14 f006eb20 00000000
Dec  8 22:31:55 localhost kernel: [24035.987246] Call Trace:
Dec  8 22:31:55 localhost kernel: [24035.987254]  [<f9a92613>] ? smscore_find_client+0x3c/0x8f [smsmdtv]
Dec  8 22:31:55 localhost kernel: [24035.987260]  [<c104095d>] ? lock_timer_base+0x1f/0x3e
Dec  8 22:31:55 localhost kernel: [24035.987266]  [<c13705f9>] ? _raw_spin_lock_irqsave+0x36/0x3f
Dec  8 22:31:55 localhost kernel: [24035.987271]  [<f9a92613>] ? smscore_find_client+0x3c/0x8f [smsmdtv]
Dec  8 22:31:55 localhost kernel: [24035.987276]  [<f9a92613>] ? smscore_find_client+0x3c/0x8f [smsmdtv]
Dec  8 22:31:55 localhost kernel: [24035.987281]  [<f9a9277d>] ? smscore_validate_client+0x35/0xab [smsmdtv]
Dec  8 22:31:55 localhost kernel: [24035.987285]  [<f9a9284d>] ? smsclient_sendrequest+0x5a/0x75 [smsmdtv]
Dec  8 22:31:55 localhost kernel: [24035.987290]  [<f85de1f7>] ? smsdvb_sendrequest_and_wait+0x1f/0x44 [smsdvb]
Dec  8 22:31:55 localhost kernel: [24035.987294]  [<f85de250>] ? smsdvb_send_statistics_request+0x34/0x36 [smsdvb]
Dec  8 22:31:55 localhost kernel: [24035.987298]  [<f85de372>] ? smsdvb_read_status+0x17/0x2f [smsdvb]
Dec  8 22:31:55 localhost kernel: [24035.987306]  [<f9ae4512>] ? dvb_frontend_swzigzag+0x90/0x21c [dvb_core]
Dec  8 22:31:55 localhost kernel: [24035.987313]  [<f9ae4b48>] ? dvb_frontend_thread+0x4aa/0x5a1 [dvb_core]
Dec  8 22:31:55 localhost kernel: [24035.987317]  [<c104c73f>] ? autoremove_wake_function+0x0/0x33
Dec  8 22:31:55 localhost kernel: [24035.987324]  [<f9ae469e>] ? dvb_frontend_thread+0x0/0x5a1 [dvb_core]
Dec  8 22:31:55 localhost kernel: [24035.987327]  [<c104c3ca>] ? kthread+0x64/0x69
Dec  8 22:31:55 localhost kernel: [24035.987330]  [<c104c366>] ? kthread+0x0/0x69
Dec  8 22:31:55 localhost kernel: [24035.987334]  [<c1003686>] ? kernel_thread_helper+0x6/0x1a
Dec  8 22:31:55 localhost kernel: [24035.987336] Code: e8 15 ff ff ff c7 43 0c ff ff ff ff 89 d8 c7 43 08 ff ff ff ff e8 c0 a4 e4 
ff 90 5b 5b 5e 5d c3 55 89 e5 57 89 c7 56 53 83 ec 14 <81> 78 04 ad 4e ad de 74 0a ba 2a 89 4d c1 e8 dc fe ff ff 64 a1 
Dec  8 22:31:55 localhost kernel: [24035.987381] EIP: [<c11d486b>] do_raw_spin_lock+0xb/0x104 SS:ESP 0068:f134be78
Dec  8 22:31:55 localhost kernel: [24035.987386] CR2: 00000000016a2cef
Dec  8 22:31:55 localhost kernel: [24035.987389] ---[ end trace 3eecaa602de2f1fa ]---

I would find ways to "make it work" by introducing some ugliness but I have very little idea
how the dvb-usb subsystem is supposed to work so I may be missing something obvious?


Richard
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux