Hello Andreas, Andreas Oberritter wrote: > Hello Markus, > > Markus Rechberger wrote: > >> Could anyone comment or add this patch? >> >> thanks, >> Markus >> >> >>> +int dvb_frontend_eventstatus(struct dvb_frontend *fe) >>> +{ >>> + struct dvb_frontend_private *fepriv = fe->frontend_priv; >>> + struct dvb_fe_events *events = &fepriv->events; >>> + int ret; >>> + >>> + if (mutex_lock_interruptible (&events->mtx)) >>> + return -EINTR; >>> + >>> + ret = (fepriv->thread) ? true:false; >>> + mutex_unlock (&events->mtx); >>> + >>> + return ret; >>> +} >>> > > what does the mutex protect? Wouldn't the following code do the same? > > int dvb_frontend_eventstatus(struct dvb_frontend *fe) > { > struct dvb_frontend_private *fepriv = fe->frontend_priv; > > return (fepriv->thread != NULL); > } > > I think the function name is misleading. At least it's not obvious for > me how the code relates to frontend events. A better name might be > dvb_frontend_active() or _running(). > > Another patch renamed to dvb_frontend_active as you proposed. http://mcentral.de/~mrec/patches/dvb_frontend_active.diff Signed-off-by: Markus Rechberger <markus.rechberger@xxxxxxx> diff -r 1f66c6c06956 linux/drivers/media/dvb/dvb-core/dvb_frontend.c --- a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c Mon Aug 13 08:12:06 2007 -0300 +++ b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c Tue Aug 14 14:09:21 2007 +0200 @@ -133,6 +133,21 @@ struct dvb_frontend_private { }; static void dvb_frontend_wakeup(struct dvb_frontend *fe); + +int dvb_frontend_active(struct dvb_frontend *fe) +{ + struct dvb_frontend_private *fepriv = fe->frontend_priv; + struct dvb_fe_events *events = &fepriv->events; + int ret; + + ret = (fepriv->thread) ? true:false; + + return ret; +} + + + +EXPORT_SYMBOL(dvb_frontend_active); static void dvb_frontend_add_event(struct dvb_frontend *fe, fe_status_t status) { diff -r 1f66c6c06956 linux/drivers/media/dvb/dvb-core/dvb_frontend.h --- a/linux/drivers/media/dvb/dvb-core/dvb_frontend.h Mon Aug 13 08:12:06 2007 -0300 +++ b/linux/drivers/media/dvb/dvb-core/dvb_frontend.h Tue Aug 14 14:07:45 2007 +0200 @@ -170,6 +170,8 @@ extern void dvb_frontend_detach(struct d extern void dvb_frontend_reinitialise(struct dvb_frontend *fe); +extern int dvb_frontend_active(struct dvb_frontend *fe); + extern void dvb_frontend_sleep_until(struct timeval *waketime, u32 add_usec); extern s32 timeval_usec_diff(struct timeval lasttime, struct timeval curtime); thanks, Markus _______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb