[linux-dvb] problems and workaround when tuning to a channel with DD enabled

Wolfgang Rohdewald wolfgang at rohdewald.de
Wed Jun 8 08:18:34 CEST 2005


On Dienstag 07 Juni 2005 17:44, Johannes Stezenbach wrote:

> Why don't you just fix the problem with the b0rked error
> handling in Load/BlitBitmap and be done with it?

OK, here comes my first try. I hope this propagates all ERESTARTSYS,
not only in OSDSetBlock

yesterday I said these problems do not happen with a non preempting kernel.
Wrong, they do happen, but only rarely.

about OSDSetBlock: If it is interrupted, it starts all over again
until it can finish. I don't know how big the risk of endless trying is.
Actually I think it can be neglected. Otherwise, possible solutions:

1. remember how much has been done: add a counter to struct av7110
which is incremented in relevant places. On next try, dry-run these
places (i.e. do not pass anything to the card). 

2. at the second time, use wait_event instead of wait_event_interruptible

If OSDSetBlock times out, -ETIMEDOUT is returned. Most other timeouts
will return -1. Could this be made more consistent? Also, the return codes
in <dvb/osd.h> don't match what the driver does. I don't know what should
be done.

-- 
Wolfgang
-------------- next part --------------
A non-text attachment was scrubbed...
Name: restart.patch
Type: text/x-diff
Size: 11118 bytes
Desc: not available
Url : http://www.linuxtv.org/pipermail/linux-dvb/attachments/20050608/1581a7b9/restart.bin


More information about the linux-dvb mailing list