This patch adds an additional check for signal presence based on AGC1.

Signed-off-by: Andreas Regel <andreas.re...@gmx.de>

diff -r c6b33af45211 linux/drivers/media/dvb/frontends/stv090x.c
--- a/linux/drivers/media/dvb/frontends/stv090x.c       Mon Nov 02 23:03:44 
2009 +0100
+++ b/linux/drivers/media/dvb/frontends/stv090x.c       Mon Nov 02 23:08:29 
2009 +0100
@@ -3997,7 +3997,7 @@
        if ((agc1_power == 0) && (power_iq < STV090x_IQPOWER_THRESHOLD)) {
                dprintk(FE_ERROR, 1, "No Signal: POWER_IQ=0x%02x", power_iq);
                lock = 0;
-
+               signal_state = STV090x_NOAGC1;
        } else {
                reg = STV090x_READ_DEMOD(state, DEMOD);
                STV090x_SETFIELD_Px(reg, SPECINV_CONTROL_FIELD, 
state->inversion);
@@ -4021,9 +4021,8 @@
                }
        }

-       /* need to check for AGC1 state */
-
-
+       if (signal_state == STV090x_NOAGC1)
+               return signal_state;

        if (state->algo == STV090x_BLIND_SEARCH)
                lock = stv090x_blind_search(state);
diff -r c6b33af45211 linux/drivers/media/dvb/frontends/stv090x_priv.h
--- a/linux/drivers/media/dvb/frontends/stv090x_priv.h  Mon Nov 02 23:03:44 
2009 +0100
+++ b/linux/drivers/media/dvb/frontends/stv090x_priv.h  Mon Nov 02 23:08:29 
2009 +0100
@@ -91,6 +91,7 @@
        STV090x_SEARCH_AGC2_TH_CUT30)

enum stv090x_signal_state {
+       STV090x_NOAGC1,
        STV090x_NOCARRIER,
        STV090x_NODATA,
        STV090x_DATAOK,
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to