Parcourir la source

[media] stb0899: Fix slow and not locking DVB-S transponder(s)

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>
Lutz Sammer il y a 13 ans
Parent
commit
39342dbb27
1 fichiers modifiés avec 3 ajouts et 0 suppressions
  1. 3 0
      drivers/media/dvb/frontends/stb0899_algo.c

+ 3 - 0
drivers/media/dvb/frontends/stb0899_algo.c

@@ -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	*/