[linux-dvb] [PATCH] add device node locking possibility to dvbcore

Trent Piepho xyzzy at speakeasy.org
Sat Aug 11 02:16:00 CEST 2007

On Thu, 9 Aug 2007, Markus Rechberger wrote:
> On 8/9/07, Markus Rechberger <mrechberger at gmail.com> wrote:
> > On 8/9/07, Steven Toth <stoth at hauppauge.com> wrote:
> > > Markus Rechberger wrote:
> > > > Following patch adds a rather primitive way to temporary lock dvb
> > > > devicenodes, this can be useful for hybrid devices which use the
> > > > video4linux framework for the analogue TV part and the dvb framework for
> > > > digital TV if only one mode can be accessed at a time.
> > > >
> >
> I  want to allow a user to use one mode at a time, so either DVB or V4L.
> The device requires a different firmware for V4L and DVB also
> different GPIO values and some special register writes.

This code looks like it's full of race conditions.  How do you prevent the dvb
code and the v4l code from accessing the lock field at the same time?  For
example, in your em28xx code, what happens if the dvb devices is opened after
the call to ->get_status on line 230 and before the call to ->dvb_lock on line

Why do you need to add locks to the frontend, dvr, demux, and net devices?  Is
it necessary to lock anything besides the frontend?

Some devices, like the demux device, are multiple open.  How do you know when
to lock and unlock them?

More information about the linux-dvb mailing list