aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/media/common/tuners/tda8290.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/media/common/tuners/tda8290.c b/drivers/media/common/tuners/tda8290.c
index 11ea4e0f9c04..419d064a0188 100644
--- a/drivers/media/common/tuners/tda8290.c
+++ b/drivers/media/common/tuners/tda8290.c
@@ -754,11 +754,10 @@ struct dvb_frontend *tda829x_attach(struct dvb_frontend *fe,
754 sizeof(struct analog_demod_ops)); 754 sizeof(struct analog_demod_ops));
755 } 755 }
756 756
757 if ((!(cfg) || (TDA829X_PROBE_TUNER == cfg->probe_tuner)) && 757 if (!(cfg) || (TDA829X_PROBE_TUNER == cfg->probe_tuner)) {
758 (tda829x_find_tuner(fe) < 0)) { 758 tda8295_power(fe, 1);
759 memset(&fe->ops.analog_ops, 0, sizeof(struct analog_demod_ops)); 759 if (tda829x_find_tuner(fe) < 0)
760 760 goto fail;
761 goto fail;
762 } 761 }
763 762
764 switch (priv->ver) { 763 switch (priv->ver) {
@@ -803,6 +802,8 @@ struct dvb_frontend *tda829x_attach(struct dvb_frontend *fe,
803 return fe; 802 return fe;
804 803
805fail: 804fail:
805 memset(&fe->ops.analog_ops, 0, sizeof(struct analog_demod_ops));
806
806 tda829x_release(fe); 807 tda829x_release(fe);
807 return NULL; 808 return NULL;
808} 809}