diff options
author | Michael Krufky <mkrufky@linuxtv.org> | 2008-01-06 13:52:56 -0500 |
---|---|---|
committer | Michael Krufky <mkrufky@linuxtv.org> | 2008-01-06 13:52:56 -0500 |
commit | 5969fce339f2c43345b200da21c1bcf21f6440a7 (patch) | |
tree | 711abde95f19975abdd35455cb485e127f99ad89 /linux/drivers/media/video | |
parent | ef15cd3c577cdc80d27bbd6ee72c2a9c991cd270 (diff) | |
download | mediapointer-dvb-s2-5969fce339f2c43345b200da21c1bcf21f6440a7.tar.gz mediapointer-dvb-s2-5969fce339f2c43345b200da21c1bcf21f6440a7.tar.bz2 |
tda18271: share state between analog and digital tuner instances
From: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Diffstat (limited to 'linux/drivers/media/video')
-rw-r--r-- | linux/drivers/media/video/tda8290.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/linux/drivers/media/video/tda8290.c b/linux/drivers/media/video/tda8290.c index fb95df7d3..6829e08fb 100644 --- a/linux/drivers/media/video/tda8290.c +++ b/linux/drivers/media/video/tda8290.c @@ -528,8 +528,13 @@ static void tda8290_init_tuner(struct dvb_frontend *fe) static void tda829x_release(struct dvb_frontend *fe) { - if (fe->ops.tuner_ops.release) - fe->ops.tuner_ops.release(fe); + struct tda8290_priv *priv = fe->analog_demod_priv; + + /* dont try to release the tuner + * if we didn't attach it from this module */ + if ((priv->ver > TDA8290) && (priv->ver > TDA8295)) + if (fe->ops.tuner_ops.release) + fe->ops.tuner_ops.release(fe); kfree(fe->analog_demod_priv); fe->analog_demod_priv = NULL; |