aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@linuxtv.org>2007-10-21 13:35:21 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-01-25 16:01:08 -0500
commite2be32ac8017d1bcb293f8c11c046ff654991385 (patch)
treeca6e2a959d832c26532824df760a0cbe60aeb91c /drivers
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>
Diffstat (limited to 'drivers')
-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 f31de98bbfa5..9de66769b623 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)
101 101
102 if (fe_tuner_ops->release) 102 if (fe_tuner_ops->release)
103 fe_tuner_ops->release(&t->fe); 103 fe_tuner_ops->release(&t->fe);
104
105 t->fe.ops.analog_demod_ops = NULL;
104} 106}
105 107
106static void fe_standby(struct tuner *t) 108static void fe_standby(struct tuner *t)
@@ -353,6 +355,8 @@ static void set_type(struct i2c_client *c, unsigned int type,
353 break; 355 break;
354 } 356 }
355 357
358 ops = t->fe.ops.analog_demod_ops;
359
356 if (((NULL == ops) || 360 if (((NULL == ops) ||
357 ((NULL == ops->set_tv_freq) && (NULL == ops->set_radio_freq))) && 361 ((NULL == ops->set_tv_freq) && (NULL == ops->set_radio_freq))) &&
358 (fe_tuner_ops->set_analog_params)) { 362 (fe_tuner_ops->set_analog_params)) {