I use a little script for unattended recording from a Terratec
Cingergy T2 USB, which basically just calls "tzap -r", reads data from
"/dev/dvb/adapter0/dvr0" and kills tzap when done. Usually this works
fairly well, but about every 4th time, tzap gets stuck in an
uninteruptable sleep when trying to close the devices. Most of the
time, there is some more collateral damage (the keyboard does not work
any more), the only way to get the system into a sane state is a
complete reboot.
I don't think the underlying problem has anything to do with tzap
(actually, I originally used mencoder, which produced similar crashes
and even more often). The process always seems to hang in
flush_cpu_workqueue:
tzap D F73E6400 0 23251 23249 23959 (L-TLB)
f4af7dcc 00000003 f722a840 f73e6400 00000202 d14bf000 c12297c0 00000000
c12297c0 ea0a1d00 003d4115 00000000 00000000 c1907a70 00000000 ea0a1d00
003d4115 c1b1b550 c1b1b678 c18ec6d8 c18ec6c0 f4af6000 f4af6000 c0128c73
Call Trace:
[<c0128c73>] flush_cpu_workqueue+0x98/0xe7
[<c012bc7a>] autoremove_wake_function+0x0/0x37
[<c012bc7a>] autoremove_wake_function+0x0/0x37
[<c0128cda>] flush_workqueue+0x18/0x19
[<faa06745>] cinergyt2_release+0xa2/0xbd [cinergyT2]
[<c0158719>] __fput+0x147/0x198
[<c0157079>] filp_close+0x3a/0x60
[<c0148d4b>] remove_vma+0x28/0x4f
[<c011c05a>] close_files+0x73/0x93
[<c011c0bf>] put_files_struct+0x17/0x42
[<c011ca49>] do_exit+0x107/0x40a
[<c012380d>] __dequeue_signal+0x57/0x76
[<c011cd9f>] do_group_exit+0x27/0x8f
[<c0125227>] get_signal_to_deliver+0x205/0x296
[<c0102b12>] do_signal+0x4b/0xfe
[<c012e38f>] ktime_get_ts+0x15/0x47
[<c012e31e>] ktime_get+0xe/0x35
[<c012e9e8>] hrtimer_nanosleep+0x76/0xed
[<c0102bfb>] do_notify_resume+0x36/0x3b
[<c0102dba>] work_notifysig+0x13/0x19
I currently use kernel version 2.6.16.32, but the same has happened
with other versions, too.
Regards,
Peter Daum