diff options
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; |