diff options
author | Andreas Regel <andreas.regel@gmx.de> | 2010-01-05 17:18:52 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2010-02-26 13:10:36 -0500 |
commit | b79c6df705e02b5dcb0e9360a15b28373813fec1 (patch) | |
tree | e78f92576dc1bfbb2c0d6859ab2c87e1736730eb | |
parent | ceb59cf068d54761c653c42dd45c14e1ecf0f7d3 (diff) |
V4L/DVB (13974): [STV090x] Fix locking reliabilty issues in automatic mode.
In automatic S/S2 detection mode, locking of a DVB-S transponder could
fail when coming from a DVB-S2 transponder. This change fixes the issue
by first disabling DVB-S and DVB-S2 mode before enabling it again.
Signed-off-by: Andreas Regel <andreas.regel@gmx.de>
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | drivers/media/dvb/frontends/stv090x.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/media/dvb/frontends/stv090x.c b/drivers/media/dvb/frontends/stv090x.c index 1573466a5c74..e57581d14ccb 100644 --- a/drivers/media/dvb/frontends/stv090x.c +++ b/drivers/media/dvb/frontends/stv090x.c | |||
@@ -1246,6 +1246,10 @@ static int stv090x_delivery_search(struct stv090x_state *state) | |||
1246 | default: | 1246 | default: |
1247 | /* enable DVB-S2 and DVB-S2 in Auto MODE */ | 1247 | /* enable DVB-S2 and DVB-S2 in Auto MODE */ |
1248 | reg = STV090x_READ_DEMOD(state, DMDCFGMD); | 1248 | reg = STV090x_READ_DEMOD(state, DMDCFGMD); |
1249 | STV090x_SETFIELD_Px(reg, DVBS1_ENABLE_FIELD, 0); | ||
1250 | STV090x_SETFIELD_Px(reg, DVBS2_ENABLE_FIELD, 0); | ||
1251 | if (STV090x_WRITE_DEMOD(state, DMDCFGMD, reg) < 0) | ||
1252 | goto err; | ||
1249 | STV090x_SETFIELD_Px(reg, DVBS1_ENABLE_FIELD, 1); | 1253 | STV090x_SETFIELD_Px(reg, DVBS1_ENABLE_FIELD, 1); |
1250 | STV090x_SETFIELD_Px(reg, DVBS2_ENABLE_FIELD, 1); | 1254 | STV090x_SETFIELD_Px(reg, DVBS2_ENABLE_FIELD, 1); |
1251 | if (STV090x_WRITE_DEMOD(state, DMDCFGMD, reg) < 0) | 1255 | if (STV090x_WRITE_DEMOD(state, DMDCFGMD, reg) < 0) |