From: Michael Krufky <mkrufky@kernellabs.com>
Date: Sat, 13 Mar 2010 18:22:32 +0000 (-0300)
Subject: V4L/DVB: lgdt3305: enable FE_HAS_SIGNAL hack for the lgdt3304 in QAM mode
X-Git-Tag: firefly_0821_release~9833^2~1317^2~191
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=a5ba334cda924eb0ae4754321ad7fc292c5a5288;p=firefly-linux-kernel-4.4.55.git

V4L/DVB: lgdt3305: enable FE_HAS_SIGNAL hack for the lgdt3304 in QAM mode

The signal bit is unreliable on the DT3304 in QAM mode, so
set FE_HAS_SIGNAL based on 'cr_lock'

Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
---

diff --git a/drivers/media/dvb/frontends/lgdt3305.c b/drivers/media/dvb/frontends/lgdt3305.c
index 63997273d0e0..3272881cb112 100644
--- a/drivers/media/dvb/frontends/lgdt3305.c
+++ b/drivers/media/dvb/frontends/lgdt3305.c
@@ -955,6 +955,10 @@ static int lgdt3305_read_status(struct dvb_frontend *fe, fe_status_t *status)
 	switch (state->current_modulation) {
 	case QAM_256:
 	case QAM_64:
+		/* signal bit is unreliable on the DT3304 in QAM mode */
+		if (((LGDT3304 == state->cfg->demod_chip)) && (cr_lock))
+			*status |= FE_HAS_SIGNAL;
+
 		ret = lgdt3305_read_fec_lock_status(state, &fec_lock);
 		if (lg_fail(ret))
 			goto fail;