From: Manu Abraham Date: Sat, 24 Jun 2006 14:18:58 +0000 (-0300) Subject: V4L/DVB (4211): Fix an Oops for all fe that have get_frontend_algo == NULL X-Git-Tag: Ubuntu-goldfish-3.4.0-4.27~32449^2~9 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=d772bd03bc38794c84811be9d2537c225e08c9b8;p=mirror_ubuntu-zesty-kernel.git 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 Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c index 3152a54a2539..9be41e4c2fda 100644 --- a/drivers/media/dvb/dvb-core/dvb_frontend.c +++ b/drivers/media/dvb/dvb-core/dvb_frontend.c @@ -556,21 +556,23 @@ static int dvb_frontend_thread(void *data) } /* do an iteration of the tuning loop */ - if (fe->ops.get_frontend_algo(fe) == FE_ALGO_HW) { - /* have we been asked to retune? */ - params = NULL; - if (fepriv->state & FESTATE_RETUNE) { - params = &fepriv->parameters; - fepriv->state = FESTATE_TUNED; - } + if (fe->ops.get_frontend_algo) { + if (fe->ops.get_frontend_algo(fe) == FE_ALGO_HW) { + /* have we been asked to retune? */ + params = NULL; + if (fepriv->state & FESTATE_RETUNE) { + params = &fepriv->parameters; + fepriv->state = FESTATE_TUNED; + } - fe->ops.tune(fe, params, fepriv->tune_mode_flags, &fepriv->delay, &s); - if (s != fepriv->status) { - dvb_frontend_add_event(fe, s); - fepriv->status = s; + fe->ops.tune(fe, params, fepriv->tune_mode_flags, &fepriv->delay, &s); + if (s != fepriv->status) { + dvb_frontend_add_event(fe, s); + fepriv->status = s; + } + } else { + dvb_frontend_swzigzag(fe); } - } else { - dvb_frontend_swzigzag(fe); } }