[linux-dvb] dvr device reading hangs

Johannes Stezenbach js at linuxtv.org
Thu Feb 17 20:36:28 CET 2005


Krzysztof Matula wrote:
> SkyStar2, kernel: 2.6.10-1.760_FC3
> 
> I'm waiting for the dvr fd with select, and then if FD_ISSET I issue a 
> read() call to it. Usually it works perfectly well, but sometimes, 
> especially when other thread is performing multiple repeated tunings on 
> the forntend the read() blocks infinitely until the process is killed...

Open with O_NONBLOCK.

> I've observed similar behaviour on previous Fedora kernels (starting 
> with the 2.4 ones). The difference is that it was necessary to 
> rmmod/modprobe the skystar modules then, and now usually helps when only 
> the process is restarted.
> 
> Can I enable any debug messages to investigate the problem further? I 
> can reproduce it easily...

It has been reported a few times that the skystar2 driver has a bug where
it stops outputting data. I assume a race in irq/dma handling, but
didn't have the time to investigate (I also don't have hardware).
You could do 'cat /proc/interrupts' to see if there are still irqs
when your read() hangs.

Johannes




More information about the linux-dvb mailing list