[media] DVB: dvb_frontend: clear stale events on FE_SET_FRONTEND
the first event after an attempt to tune. Signed-off-by: Andreas Oberritter <obi@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
5c9f480bdb
commit
20640bea87
@ -220,6 +220,16 @@ static int dvb_frontend_get_event(struct dvb_frontend *fe,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void dvb_frontend_clear_events(struct dvb_frontend *fe)
|
||||||
|
{
|
||||||
|
struct dvb_frontend_private *fepriv = fe->frontend_priv;
|
||||||
|
struct dvb_fe_events *events = &fepriv->events;
|
||||||
|
|
||||||
|
mutex_lock(&events->mtx);
|
||||||
|
events->eventr = events->eventw;
|
||||||
|
mutex_unlock(&events->mtx);
|
||||||
|
}
|
||||||
|
|
||||||
static void dvb_frontend_init(struct dvb_frontend *fe)
|
static void dvb_frontend_init(struct dvb_frontend *fe)
|
||||||
{
|
{
|
||||||
dprintk ("DVB: initialising adapter %i frontend %i (%s)...\n",
|
dprintk ("DVB: initialising adapter %i frontend %i (%s)...\n",
|
||||||
@ -1891,6 +1901,7 @@ static int dvb_frontend_ioctl_legacy(struct file *file,
|
|||||||
/* Request the search algorithm to search */
|
/* Request the search algorithm to search */
|
||||||
fepriv->algo_status |= DVBFE_ALGO_SEARCH_AGAIN;
|
fepriv->algo_status |= DVBFE_ALGO_SEARCH_AGAIN;
|
||||||
|
|
||||||
|
dvb_frontend_clear_events(fe);
|
||||||
dvb_frontend_add_event(fe, 0);
|
dvb_frontend_add_event(fe, 0);
|
||||||
dvb_frontend_wakeup(fe);
|
dvb_frontend_wakeup(fe);
|
||||||
fepriv->status = 0;
|
fepriv->status = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user