> You shouldn't be able to break the driver from userspace > though; I'll take a > look if the snapshot I just sent you doesn't help.
Nope, exactly the same behaviour: first iteration works as a charm, second iteration timeouts waiting for data. I've put the logs given by dvb_debug_frontend=1 at the end of this email. The only difference I've seen is a faster time for the first data acquisition. Before, I was waiting around 2 seconds before receiving the first packets. Good improvement! I even discovered another weird behaviour. I run my test and let it finish the first iteration, then kill it while it sleeps. If I restart it before dvb_shutdown_timeout, then I get an "operation not permitted" when I call "select" on the demux. I think it's a problem introduced in the new version Andrew gave me (fresh CVS). Regarding my first problem (in my full application, I cannot re-open the frontend at all, even right after the close), I found the source of my problem: I fork a few child process and the increases the "writers" counter on the frontend file descriptor. Therefore, when a close the frontend from the parent, it's not really closed because the child processes still have a reference on that file. Stupid me. So I remain with three problems: 1) frontend lost (cannot tune) if I re-open it from the same process after dvb_shutdown_timeout. 2) frontend lost (operation not permitter on "select") if I re-open it from a another process before dvb_shutdown_timeout. 3) frontend lost (cannot tune) after around 1000 tune-read cycles (). Doesn't anybody sees the same problems? At least for #3 I know I'm not alone... Thanks. ---------------------- logs for a usual run of my test program Apr 7 13:39:54 pc0125 kernel: dvb_frontend_open <-- where I open the frontend Apr 7 13:39:54 pc0125 kernel: dvb_frontend_start Apr 7 13:39:54 pc0125 kernel: dvb_frontend_thread Apr 7 13:39:54 pc0125 kernel: dvb_call_frontend_notifiers Apr 7 13:39:54 pc0125 kernel: dvb_frontend_ioctl Apr 7 13:39:54 pc0125 kernel: DVB: initialising frontend 0:0 (STV0299/TSA5059/SL1935 based)... Apr 7 13:39:54 pc0125 kernel: dvb_frontend_internal_ioctl Apr 7 13:39:54 pc0125 kernel: dvb_frontend_internal_ioctl Apr 7 13:39:54 pc0125 kernel: dvb_frontend_ioctl <...> Apr 7 13:39:54 pc0125 kernel: dvb_frontend_add_event Apr 7 13:39:54 pc0125 kernel: dvb_call_frontend_notifiers Apr 7 13:39:54 pc0125 kernel: dvb_frontend_internal_ioctl Apr 7 13:39:54 pc0125 kernel: dvb_frontend_add_event Apr 7 13:39:54 pc0125 kernel: dvb_call_frontend_notifiers Apr 7 13:39:54 pc0125 kernel: dvb_frontend_autotune: drift:0 bending:0 inversion:0 auto_step:0 auto_sub_step:0 started_auto_step:0 Apr 7 13:39:54 pc0125 kernel: dvb_frontend_internal_ioctl Apr 7 13:39:54 pc0125 kernel: dvb_frontend_internal_ioctl Apr 7 13:39:54 pc0125 kernel: dvb_frontend_add_event Apr 7 13:39:54 pc0125 kernel: dvb_frontend_internal_ioctl Apr 7 13:39:54 pc0125 kernel: dvb_call_frontend_notifiers Apr 7 13:39:54 pc0125 kernel: update_delay Apr 7 13:39:54 pc0125 kernel: dvb_frontend_release <-- where I close the frontend Apr 7 13:39:55 pc0125 kernel: dvb_frontend_internal_ioctl <...> <-- it goes like that for 6 seconds Apr 7 13:39:59 pc0125 kernel: update_delay Apr 7 13:40:00 pc0125 kernel: dvb_frontend_internal_ioctl Apr 7 13:40:04 pc0125 kernel: dvb_frontend_open <-- end of sleep and re-open Apr 7 13:40:04 pc0125 kernel: dvb_frontend_start Apr 7 13:40:04 pc0125 kernel: dvb_frontend_thread Apr 7 13:40:04 pc0125 kernel: dvb_call_frontend_notifiers Apr 7 13:40:04 pc0125 kernel: dvb_frontend_ioctl Apr 7 13:40:04 pc0125 kernel: dvb_frontend_internal_ioctl Apr 7 13:40:04 pc0125 kernel: DVB: initialising frontend 0:0 (STV0299/TSA5059/SL1935 based)... Apr 7 13:40:04 pc0125 kernel: dvb_frontend_internal_ioctl Apr 7 13:40:04 pc0125 kernel: dvb_frontend_ioctl <...> Apr 7 13:40:04 pc0125 kernel: dvb_frontend_internal_ioctl Apr 7 13:40:04 pc0125 kernel: dvb_frontend_add_event Apr 7 13:40:04 pc0125 kernel: dvb_call_frontend_notifiers <-- where the FE looses its mind Apr 7 13:40:04 pc0125 kernel: dvb_frontend_autotune: drift:0 bending:0 inversion:0 auto_step:0 auto_sub_step:0 started_auto_step:0 Apr 7 13:40:04 pc0125 kernel: dvb_frontend_internal_ioctl Apr 7 13:40:05 pc0125 kernel: dvb_frontend_internal_ioctl Apr 7 13:40:05 pc0125 kernel: dvb_frontend_autotune: drift:0 bending:0 inversion:1 auto_step:0 auto_sub_step:1 started_auto_step:0 Apr 7 13:40:05 pc0125 kernel: dvb_frontend_internal_ioctl Apr 7 13:40:05 pc0125 kernel: dvb_frontend_internal_ioctl Apr 7 13:40:05 pc0125 kernel: dvb_frontend_autotune: drift:1718 bending:0 inversion:1 auto_step:1 auto_sub_step:0 started_auto_step:0 Apr 7 13:40:05 pc0125 kernel: dvb_frontend_internal_ioctl Apr 7 13:40:05 pc0125 kernel: dvb_frontend_internal_ioctl Apr 7 13:40:05 pc0125 kernel: dvb_frontend_autotune: drift:1718 bending:0 inversion:0 auto_step:1 auto_sub_step:1 started_auto_step:0 <... keep on going like that until kill+dvb_shutdown_timeout ...> -- Info: To unsubscribe send a mail to [EMAIL PROTECTED] with "unsubscribe linux-dvb" as subject.
