summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/frontends
diff options
context:
space:
mode:
Diffstat (limited to 'linux/drivers/media/dvb/frontends')
-rw-r--r--linux/drivers/media/dvb/frontends/stb0899_drv.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/linux/drivers/media/dvb/frontends/stb0899_drv.c b/linux/drivers/media/dvb/frontends/stb0899_drv.c
index b2bb1c94a..d49263772 100644
--- a/linux/drivers/media/dvb/frontends/stb0899_drv.c
+++ b/linux/drivers/media/dvb/frontends/stb0899_drv.c
@@ -1873,11 +1873,14 @@ static int stb0899_get_modcod(struct stb0899_internal *internal, struct dvbs2_pa
* Once a new lock has established, the internal state
* frequency (internal->freq) is updated
*/
-static int stb0899_track(struct dvb_frontend *fe, struct dvbfe_params *params)
+static int stb0899_track(struct dvb_frontend *fe, struct dvbfe_params *params, int *delay)
{
+ u32 lock_lost;
+
struct stb0899_state *state = fe->demodulator_priv;
struct stb0899_internal *internal = &state->internal;
+#if 0
switch (state->delsys) {
case DVBFE_DELSYS_DVBS:
dprintk(verbose, FE_DEBUG, 1, "Tracking DVB-S state");
@@ -1925,6 +1928,13 @@ static int stb0899_track(struct dvb_frontend *fe, struct dvbfe_params *params)
dprintk(verbose, FE_ERROR, 1, "Unsupported delivery system");
return -EINVAL;
}
+#endif
+ lock_lost = STB0899_READ_S2REG(STB0899_S2DEMOD, LOCK_LOST);
+ dprintk(verbose, FE_DEBUG, 1, "Lock Lost=[0x%02x]\n", lock_lost);
+ if (STB0899_GETFIELD(LOCK_LOST, lock_lost))
+ dprintk(verbose, FE_ERROR, 1, "Demodulator LOST LOCK !\n");
+
+ *delay = HZ/10;
return 0;
}