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

Oliver Endriss o.endriss at gmx.de
Fri Aug 17 20:12:14 CEST 2007


Markus Rechberger wrote:
> On 8/17/07, Oliver Endriss <o.endriss at gmx.de> wrote:
> > Steven Toth wrote:
> > > The ts_bus_ctrl function pointer / callback is already in the mainline,
> > > check dvb_frontend.c for more details. You shouldn't need a patch from me.
> >
> > ACK, should be enough to do this kind of locking.
> >
> > Furthermore, with this callback, the dvb_frontend_active() routine from
> > '[linux-dvb] [PATCH] function for checking if the dvb framework is idle'
> > is not required at all. The callback is aware whether the frontend is
> > running or not...
> >
> As far as I've seen the callback will be called as soon as the device
> gets closed, even though the thread might still be spinning in the
> background and the subsystem might still access DVB components, this
> is why dvb_frontend_active is  still needed.
> Closing the devicenode and that callback doesn't mean that the device is idle.

Ok, this should be fixed. What about this patch:

diff -r dd58780b6fb4 linux/drivers/media/dvb/dvb-core/dvb_frontend.c
--- a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c	Thu Aug 09 16:30:39 2007 +0200
+++ b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c	Fri Aug 17 20:07:28 2007 +0200
@@ -596,6 +596,10 @@ restart:
 	mb();
 
 	dvb_frontend_wakeup(fe);
+
+	if (fe->ops.ts_bus_ctrl)
+		fe->ops.ts_bus_ctrl (fe, 0);
+
 	return 0;
 }
 
@@ -1101,9 +1105,10 @@ static int dvb_frontend_release(struct i
 
 	if ((file->f_flags & O_ACCMODE) != O_RDONLY)
 		fepriv->release_jiffies = jiffies;
-
-	if (fe->ops.ts_bus_ctrl)
-		fe->ops.ts_bus_ctrl (fe, 0);
+	else {
+		if (fe->ops.ts_bus_ctrl)
+			fe->ops.ts_bus_ctrl (fe, 0);
+	}
 
 	ret = dvb_generic_release (inode, file);
 

CU
Oliver

-- 
----------------------------------------------------------------
VDR Remote Plugin 0.3.9: http://www.escape-edv.de/endriss/vdr/
----------------------------------------------------------------




More information about the linux-dvb mailing list