summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/frontends/au8522.c
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@linuxtv.org>2008-06-21 15:32:41 -0400
committerMichael Krufky <mkrufky@linuxtv.org>2008-06-21 15:32:41 -0400
commit5ec2138136188f7ec74986cf00f05f1ad9be56d6 (patch)
tree8c82a6cab71a1bf00fe87401271ac13202256b27 /linux/drivers/media/dvb/frontends/au8522.c
parent54084f7c52a77294a6947de1b8a9662c14385fed (diff)
downloadmediapointer-dvb-s2-5ec2138136188f7ec74986cf00f05f1ad9be56d6.tar.gz
mediapointer-dvb-s2-5ec2138136188f7ec74986cf00f05f1ad9be56d6.tar.bz2
au8522: prevent false-positive lock status
From: Steven Toth <stoth@linuxtv.org> 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>
Diffstat (limited to 'linux/drivers/media/dvb/frontends/au8522.c')
-rw-r--r--linux/drivers/media/dvb/frontends/au8522.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/linux/drivers/media/dvb/frontends/au8522.c b/linux/drivers/media/dvb/frontends/au8522.c
index 6d80ca2bd..37f6260e1 100644
--- a/linux/drivers/media/dvb/frontends/au8522.c
+++ b/linux/drivers/media/dvb/frontends/au8522.c
@@ -526,10 +526,8 @@ static int au8522_read_status(struct dvb_frontend *fe, fe_status_t *status)
if (state->current_modulation == VSB_8) {
dprintk("%s() Checking VSB_8\n", __func__);
reg = au8522_readreg(state, 0x4088);
- if (reg & 0x01)
- *status |= FE_HAS_VITERBI;
- if (reg & 0x02)
- *status |= FE_HAS_LOCK | FE_HAS_SYNC;
+ if ((reg & 0x03) == 0x03)
+ *status |= FE_HAS_LOCK | FE_HAS_SYNC | FE_HAS_VITERBI;
} else {
dprintk("%s() Checking QAM\n", __func__);
reg = au8522_readreg(state, 0x4541);