diff options
author | Andreas Regel <andreas.regel@gmx.de> | 2009-11-13 16:18:53 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-12-05 15:41:30 -0500 |
commit | c4fa649a3beca1e311d7f244de67306673f4c285 (patch) | |
tree | 9d380d2382a8b3656071bf87ad380176ac7bd9a3 /drivers/media/dvb/frontends/stv090x.c | |
parent | a4978a83e51324aed08b1f1105a58f7e6491b751 (diff) |
V4L/DVB (13357): stv090x: adds an additional check for signal presence based on AGC1
Signed-off-by: Andreas Regel <andreas.regel@gmx.de>
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/frontends/stv090x.c')
-rw-r--r-- | drivers/media/dvb/frontends/stv090x.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/media/dvb/frontends/stv090x.c b/drivers/media/dvb/frontends/stv090x.c index a2ec0ed48832..647c5354300f 100644 --- a/drivers/media/dvb/frontends/stv090x.c +++ b/drivers/media/dvb/frontends/stv090x.c | |||
@@ -3185,7 +3185,7 @@ static enum stv090x_signal_state stv090x_algo(struct stv090x_state *state) | |||
3185 | if ((agc1_power == 0) && (power_iq < STV090x_IQPOWER_THRESHOLD)) { | 3185 | if ((agc1_power == 0) && (power_iq < STV090x_IQPOWER_THRESHOLD)) { |
3186 | dprintk(FE_ERROR, 1, "No Signal: POWER_IQ=0x%02x", power_iq); | 3186 | dprintk(FE_ERROR, 1, "No Signal: POWER_IQ=0x%02x", power_iq); |
3187 | lock = 0; | 3187 | lock = 0; |
3188 | 3188 | signal_state = STV090x_NOAGC1; | |
3189 | } else { | 3189 | } else { |
3190 | reg = STV090x_READ_DEMOD(state, DEMOD); | 3190 | reg = STV090x_READ_DEMOD(state, DEMOD); |
3191 | STV090x_SETFIELD_Px(reg, SPECINV_CONTROL_FIELD, state->inversion); | 3191 | STV090x_SETFIELD_Px(reg, SPECINV_CONTROL_FIELD, state->inversion); |
@@ -3209,9 +3209,8 @@ static enum stv090x_signal_state stv090x_algo(struct stv090x_state *state) | |||
3209 | } | 3209 | } |
3210 | } | 3210 | } |
3211 | 3211 | ||
3212 | /* need to check for AGC1 state */ | 3212 | if (signal_state == STV090x_NOAGC1) |
3213 | 3213 | return signal_state; | |
3214 | |||
3215 | 3214 | ||
3216 | if (state->algo == STV090x_BLIND_SEARCH) | 3215 | if (state->algo == STV090x_BLIND_SEARCH) |
3217 | lock = stv090x_blind_search(state); | 3216 | lock = stv090x_blind_search(state); |