diff options
Diffstat (limited to 'drivers/media/common')
-rw-r--r-- | drivers/media/common/tuners/tda8290.c | 11 |
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 | ||
805 | fail: | 804 | fail: |
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 | } |