[media] stb0899: Fix slow and not locking DVB-S transponder(s)
authorLutz Sammer <johns98@gmx.net>
Fri, 7 Oct 2011 19:11:37 +0000 (16:11 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Tue, 11 Oct 2011 21:02:57 +0000 (18:02 -0300)
In stb0899_status stb0899_check_data the first read of STB0899_VSTATUS
could read old (from previous search) LOOP status bit and the search
fails on a good frequency.

With the patch more transponder could be locked and locks about 2*
faster.

Signed-off-by: Lutz Sammer<johns98@gmx.net>
Reviewed-by: Manu Abraham<manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb/frontends/stb0899_algo.c

index d70eee00f33a5d33fbefef13860f20ba15c020c4..117a56926dcad041316a53f4ea47ed3c7263505f 100644 (file)
@@ -358,6 +358,9 @@ static enum stb0899_status stb0899_check_data(struct stb0899_state *state)
        else
                dataTime = 500;
 
+       /* clear previous failed END_LOOPVIT */
+       stb0899_read_reg(state, STB0899_VSTATUS);
+
        stb0899_write_reg(state, STB0899_DSTATUS2, 0x00); /* force search loop  */
        while (1) {
                /* WARNING! VIT LOCKED has to be tested before VIT_END_LOOOP    */