Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] Re: cinergyT2: which kernel/usb module to use?
On Mittwoch, 1. Dezember 2004 22:42, Holger Waechtler wrote:
> Stefan Lucke wrote:
>
> >I added a printk at the end of this function, but unfortunately I get only one
> >message :-( .
> >
> >
>
> hmmm... then there seems to be a problem in the 2.4 workqueue emulation
> code at top of the file. Can you please add a few printk() calls there
> to find the root of the problem?
After adding additional printk() upon entry, status FE_HAS_LOCK change and
exit of function "cinergyt2_query", I have to say: work queue emulation is not
the cause for vdr loops.
Dec 2 21:24:26 jarada kernel: cinergyt2_query: entry: 503
Dec 2 21:24:26 jarada kernel: cinergyt2_query: exit: 503
But there is to my opinion a race condition with FE_SET_FRONTEND and the query
function, as the latter is only called in 333ms intervals. So in between two
calls of cinergyt2_query() there may be a tuning call. If the status is the
same after 2nd query call, even a poll() may fail. So I set "stat->lock_bits=0;" after
calling cinergyt2_command() for tuning. But even with this change
I get vdr looping :-( .
Another point: in .._query() functions, calls to cinergy are protected by down_..() up() .
Issueing tuning commands is unprotected ;-) .
--
stefan lucke
Home |
Main Index |
Thread Index