Markus Rechberger wrote:
> On 8/17/07, Oliver Endriss <[EMAIL PROTECTED]> 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/
----------------------------------------------------------------


_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

Reply via email to