linux/drivers/media/dvb/dvb-core
Darron Broad 59b1842da1 V4L/DVB (9227): MFE: Add multi-frontend mutual exclusion
This add frontend R/W mutual exclusion.
Prior to this point in time it was possible to open both
frontends simultaneously which an MFE card cannot support.

In order to stop this, a delayed open is performed which
has the following function:

-  Return EBUSY after a configurable amount of time
   if a frontend is unavailable due to the other being
   in use.

-  Only allow opening of a frontend if the kernel thread
   of the other has stopped.

This solution was chosen to allow switching between
frontends to work as seamlessly as possible. When both
frontends are actually opened simultaneously then one
will only open, but if quick switching is performed
between one of many then the new open will succeed in
a clean fashion rather than interrupting a kernel
thread.

Signed-off-by: Darron Broad <darron@kewl.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-10-17 17:24:15 -03:00
..
demux.h V4L/DVB (8131): dmx_write: memcpy from user-supplied pointer 2008-07-20 07:13:27 -03:00
dmxdev.c V4L/DVB (9029): Fix deadlock in demux code 2008-10-04 22:59:55 -03:00
dmxdev.h V4L/DVB (5511): Fix 2/3 for bug 7819: demux and dvr 2007-04-27 15:45:31 -03:00
dvb_ca_en50221.c V4L/DVB (8757): v4l-dvb: fix a bunch of sparse warnings 2008-09-03 18:37:13 -03:00
dvb_ca_en50221.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dvb_demux.c V4L/DVB (9029): Fix deadlock in demux code 2008-10-04 22:59:55 -03:00
dvb_demux.h V4L/DVB (5512): Fix 3/3 for bug 7819: fixed hotplugging for dvbnet 2007-04-27 15:45:32 -03:00
dvb_filter.c V4L/DVB (3218): Whitespace cleanups 2006-01-09 15:25:34 -02:00
dvb_filter.h [PATCH] V4L/DVB: (3086c) Whitespaces cleanups part 3 2005-12-12 08:57:44 -08:00
dvb_frontend.c V4L/DVB (9227): MFE: Add multi-frontend mutual exclusion 2008-10-17 17:24:15 -03:00
dvb_frontend.h V4L/DVB (9222): S2API: Add Multiple-frontend on a single adapter support. 2008-10-17 17:23:10 -03:00
dvb_math.c V4L/DVB (3996): Make the table static 2006-06-25 02:00:11 -03:00
dvb_math.h V4L/DVB (3988): Add math routines required by DVB demods 2006-06-25 02:00:08 -03:00
dvb_net.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb 2008-07-20 21:14:42 -07:00
dvb_net.h V4L/DVB (5512): Fix 3/3 for bug 7819: fixed hotplugging for dvbnet 2007-04-27 15:45:32 -03:00
dvb_ringbuffer.c V4L/DVB (8130): split dvb_ringbuffer dual-use functions 2008-07-20 07:13:23 -03:00
dvb_ringbuffer.h V4L/DVB (8130): split dvb_ringbuffer dual-use functions 2008-07-20 07:13:23 -03:00
dvbdev.c V4L/DVB (9227): MFE: Add multi-frontend mutual exclusion 2008-10-17 17:24:15 -03:00
dvbdev.h V4L/DVB (9227): MFE: Add multi-frontend mutual exclusion 2008-10-17 17:24:15 -03:00
Makefile V4L/DVB (4411): Fix minor errors in build files 2006-08-08 15:53:03 -03:00