V4L/DVB (7052): tda18271: when tuning digital, the analog demod must be tri-stated

Call analog_ops.standby during tda18271_set_params, to put the tda8295
in tri-state when tuning digital channels.  Otherwise the tda8295 will
interfere with the signal coming from the tda18271 into the digital
demodulator.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
diff --git a/drivers/media/dvb/frontends/tda18271-fe.c b/drivers/media/dvb/frontends/tda18271-fe.c
index dd3657e..dfe72aa 100644
--- a/drivers/media/dvb/frontends/tda18271-fe.c
+++ b/drivers/media/dvb/frontends/tda18271-fe.c
@@ -836,7 +836,6 @@
 
 	priv->mode = TDA18271_DIGITAL;
 
-	/* see table 22 */
 	if (fe->ops.info.type == FE_ATSC) {
 		switch (params->u.vsb.modulation) {
 		case VSB_8:
@@ -884,6 +883,10 @@
 		return -EINVAL;
 	}
 
+	/* When tuning digital, the analog demod must be tri-stated */
+	if (fe->ops.analog_ops.standby)
+		fe->ops.analog_ops.standby(fe);
+
 	ret = tda18271_tune(fe, sgIF * 1000, freq, bw, std, 0);
 
 	if (ret < 0)