aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@linuxtv.org>2007-10-21 14:35:21 -0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-01-25 19:01:08 -0200
commite2be32ac8017d1bcb293f8c11c046ff654991385 (patch)
treeca6e2a959d832c26532824df760a0cbe60aeb91c
parent1dde7a4fa2b197d298c3f1b97a7f78fd1c3a1bda (diff)
V4L/DVB (6437): tuner: clear analog_demod_ops on release
Clear analog_demod_ops on release. Fix test for analog_demod_ops after tuner attach. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r--drivers/media/video/tuner-core.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/media/video/tuner-core.c b/drivers/media/video/tuner-core.c
index f31de98bbfa..9de66769b62 100644
--- a/drivers/media/video/tuner-core.c
+++ b/drivers/media/video/tuner-core.c
@@ -101,6 +101,8 @@ static void fe_release(struct tuner *t)
if (fe_tuner_ops->release)
fe_tuner_ops->release(&t->fe);
+
+ t->fe.ops.analog_demod_ops = NULL;
}
static void fe_standby(struct tuner *t)
@@ -353,6 +355,8 @@ static void set_type(struct i2c_client *c, unsigned int type,
break;
}
+ ops = t->fe.ops.analog_demod_ops;
+
if (((NULL == ops) ||
((NULL == ops->set_tv_freq) && (NULL == ops->set_radio_freq))) &&
(fe_tuner_ops->set_analog_params)) {