diff options
author | Manu Abraham <manu@linuxtv.org> | 2006-06-24 18:18:58 +0400 |
---|---|---|
committer | Manu Abraham <manu@linuxtv.org> | 2006-06-24 18:18:58 +0400 |
commit | 6c9a1ff458d27546b0417368fe92a1442a0a609d (patch) | |
tree | 8acfa161efcf1650e22016aaafa72bade405593e /linux/drivers | |
parent | 81d3af21e291c984f3e302fe4b142eb066ad5e44 (diff) | |
download | mediapointer-dvb-s2-6c9a1ff458d27546b0417368fe92a1442a0a609d.tar.gz mediapointer-dvb-s2-6c9a1ff458d27546b0417368fe92a1442a0a609d.tar.bz2 |
Fix an Oops for all fe that have get_frontend_algo == NULL
Thanks to Johannes Stezenbach for pointing it out
From: Manu Abraham <abraham.manu@gmail.com>
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Diffstat (limited to 'linux/drivers')
-rw-r--r-- | linux/drivers/media/dvb/dvb-core/dvb_frontend.c | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c index ce5e60e7a..32c7f42c7 100644 --- a/linux/drivers/media/dvb/dvb-core/dvb_frontend.c +++ b/linux/drivers/media/dvb/dvb-core/dvb_frontend.c @@ -562,21 +562,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); } } |