diff options
author | Lutz Sammer <johns98@gmx.net> | 2011-10-07 16:11:37 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-10-11 18:02:57 -0300 |
commit | 39342dbb27323f174b286c9e19b9687d492b2d1a (patch) | |
tree | 41d4aa97140c5206481c83163b1410c5e977a0cb /drivers/media/dvb/frontends | |
parent | 06bd801c23939952bc6e1cf65f0e8c0fff09d2d7 (diff) |
[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>
Diffstat (limited to 'drivers/media/dvb/frontends')
-rw-r--r-- | drivers/media/dvb/frontends/stb0899_algo.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/media/dvb/frontends/stb0899_algo.c b/drivers/media/dvb/frontends/stb0899_algo.c index d70eee00f33a..117a56926dca 100644 --- a/drivers/media/dvb/frontends/stb0899_algo.c +++ b/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 */ |