V4L/DVB: lgdt3305: enable FE_HAS_SIGNAL hack for the lgdt3304 in QAM mode
authorMichael Krufky <mkrufky@kernellabs.com>
Sat, 13 Mar 2010 18:22:32 +0000 (15:22 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 2 Aug 2010 17:47:41 +0000 (14:47 -0300)
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>
drivers/media/dvb/frontends/lgdt3305.c

index 63997273d0e09d7e522bd4f2ab12f589c221c597..3272881cb112922e30d829c010b9fde5fc3fe4f4 100644 (file)
@@ -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;