diff options
author | Steven Toth <stoth@linuxtv.org> | 2008-06-21 18:32:41 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-06-26 14:58:58 -0400 |
commit | 836c28584d4629fdc85365f083b84e1298e14312 (patch) | |
tree | 53ce643c9d47e84dd8018cd342add02cd48dcd2a /drivers/media/dvb/frontends/au8522.c | |
parent | 7fa8e6fa1519194fc0c931f40d530fb55137bad9 (diff) |
V4L/DVB (8096): au8522: prevent false-positive lock status
This decreases scan time in Queens, New York from 28 minutes to 7 minutes,
with the exact same services found.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/dvb/frontends/au8522.c')
-rw-r--r-- | drivers/media/dvb/frontends/au8522.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/media/dvb/frontends/au8522.c b/drivers/media/dvb/frontends/au8522.c index 978a287b751b..03900d241a76 100644 --- a/drivers/media/dvb/frontends/au8522.c +++ b/drivers/media/dvb/frontends/au8522.c | |||
@@ -527,10 +527,8 @@ static int au8522_read_status(struct dvb_frontend *fe, fe_status_t *status) | |||
527 | if (state->current_modulation == VSB_8) { | 527 | if (state->current_modulation == VSB_8) { |
528 | dprintk("%s() Checking VSB_8\n", __func__); | 528 | dprintk("%s() Checking VSB_8\n", __func__); |
529 | reg = au8522_readreg(state, 0x4088); | 529 | reg = au8522_readreg(state, 0x4088); |
530 | if (reg & 0x01) | 530 | if ((reg & 0x03) == 0x03) |
531 | *status |= FE_HAS_VITERBI; | 531 | *status |= FE_HAS_LOCK | FE_HAS_SYNC | FE_HAS_VITERBI; |
532 | if (reg & 0x02) | ||
533 | *status |= FE_HAS_LOCK | FE_HAS_SYNC; | ||
534 | } else { | 532 | } else { |
535 | dprintk("%s() Checking QAM\n", __func__); | 533 | dprintk("%s() Checking QAM\n", __func__); |
536 | reg = au8522_readreg(state, 0x4541); | 534 | reg = au8522_readreg(state, 0x4541); |