Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: vfree during spin_lock hold (Was: (In)consistency of DMX/DVR buffers and OSD ioctls)



On Thu, Mar 28, 2002 at 02:15:06PM +0100, Andreas Schultz wrote:
> Dr. Werner Fink wrote:
> >On Thu, Mar 28, 2002 at 02:10:06AM +0100, Ralph Metzler wrote:
> 
> [...]
> 
> >Im my experience it's better to reload the DVB driver in such
> >a case.  I've seen never an arm crash which recovers without
> >that.  Such crashes happens in replay mode of VDR with fast forward
> >or backward and OSD usage afterwards.
> 
> After trying to reproduce this reliably, i begin to doubt that the ARM in 
> fact has crashed when this occurs. Looking at ARM crash detection, i really 
> begin to worry about a possible race there. I can't see anything stopping 
> the rdebi() function being used concurently by the ARM kernel thread and a 
> user process doing OSD. This certainly could mess up the crash detection 
> and lead to a reload when none is needed.

Ohmm ... at dvb.c:init_card() there is a wait queue which is initialized
at startup but is never used to handle the r/w debi calls.
And it seems to me, that there is no possiblity to check something
like a debi call queue in the ARM and its firmware itself for
synchronizing with such a debi call queue in the driver.  The only thing
I've found is dvb.c:wait_for_debi_done() for waiting on programming and
transfer to/from the ARM ... but this seems not to be a callback to the
kernel driver for a polled debi command which has finished on the ARM.


       Werner


-- 
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.


Home | Main Index | Thread Index