diff options
author | Michael Krufky <mkrufky@linuxtv.org> | 2008-01-06 13:52:56 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-01-25 16:04:43 -0500 |
commit | a4f263b587573f47cc6bc7ad85e5f650169d48f6 (patch) | |
tree | d6734ff3a2d7234b34086152fe08c6606973f5b2 /drivers/media/video/tda8290.c | |
parent | b3d98135aa6e462d7e3f42a86d12483a9003a4da (diff) |
V4L/DVB (6986): tda18271: share state between analog and digital tuner instances
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/tda8290.c')
-rw-r--r-- | drivers/media/video/tda8290.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/media/video/tda8290.c b/drivers/media/video/tda8290.c index eab530708a49..4ac7c0438896 100644 --- a/drivers/media/video/tda8290.c +++ b/drivers/media/video/tda8290.c | |||
@@ -502,8 +502,13 @@ static void tda8290_init_tuner(struct dvb_frontend *fe) | |||
502 | 502 | ||
503 | static void tda829x_release(struct dvb_frontend *fe) | 503 | static void tda829x_release(struct dvb_frontend *fe) |
504 | { | 504 | { |
505 | if (fe->ops.tuner_ops.release) | 505 | struct tda8290_priv *priv = fe->analog_demod_priv; |
506 | fe->ops.tuner_ops.release(fe); | 506 | |
507 | /* dont try to release the tuner | ||
508 | * if we didn't attach it from this module */ | ||
509 | if ((priv->ver > TDA8290) && (priv->ver > TDA8295)) | ||
510 | if (fe->ops.tuner_ops.release) | ||
511 | fe->ops.tuner_ops.release(fe); | ||
507 | 512 | ||
508 | kfree(fe->analog_demod_priv); | 513 | kfree(fe->analog_demod_priv); |
509 | fe->analog_demod_priv = NULL; | 514 | fe->analog_demod_priv = NULL; |