V4L/DVB (4211): Fix an Oops for all fe that have get_frontend_algo == NULL

Thanks to Johannes Stezenbach for pointing it out

Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
Manu Abraham
2006-06-24 11:18:58 -03:00
committed by Mauro Carvalho Chehab
parent fcc18e83e1
commit d772bd03bc

View File

@@ -556,21 +556,23 @@ static int dvb_frontend_thread(void *data)
} }
/* do an iteration of the tuning loop */ /* do an iteration of the tuning loop */
if (fe->ops.get_frontend_algo(fe) == FE_ALGO_HW) { if (fe->ops.get_frontend_algo) {
/* have we been asked to retune? */ if (fe->ops.get_frontend_algo(fe) == FE_ALGO_HW) {
params = NULL; /* have we been asked to retune? */
if (fepriv->state & FESTATE_RETUNE) { params = NULL;
params = &fepriv->parameters; if (fepriv->state & FESTATE_RETUNE) {
fepriv->state = FESTATE_TUNED; params = &fepriv->parameters;
} fepriv->state = FESTATE_TUNED;
}
fe->ops.tune(fe, params, fepriv->tune_mode_flags, &fepriv->delay, &s); fe->ops.tune(fe, params, fepriv->tune_mode_flags, &fepriv->delay, &s);
if (s != fepriv->status) { if (s != fepriv->status) {
dvb_frontend_add_event(fe, s); dvb_frontend_add_event(fe, s);
fepriv->status = s; fepriv->status = s;
}
} else {
dvb_frontend_swzigzag(fe);
} }
} else {
dvb_frontend_swzigzag(fe);
} }
} }