Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ed73683f authored by Michael Krufky's avatar Michael Krufky Committed by Mauro Carvalho Chehab
Browse files

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: default avatarMichael Krufky <mkrufky@linuxtv.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent 3473e342
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -836,7 +836,6 @@ static int tda18271_set_params(struct dvb_frontend *fe,

	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 @@ static int tda18271_set_params(struct dvb_frontend *fe,
		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)