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>
This commit is contained in:
parent
ceb59cf068
commit
b79c6df705
|
@ -1246,6 +1246,10 @@ static int stv090x_delivery_search(struct stv090x_state *state)
|
||||||
default:
|
default:
|
||||||
/* enable DVB-S2 and DVB-S2 in Auto MODE */
|
/* enable DVB-S2 and DVB-S2 in Auto MODE */
|
||||||
reg = STV090x_READ_DEMOD(state, DMDCFGMD);
|
reg = STV090x_READ_DEMOD(state, DMDCFGMD);
|
||||||
|
STV090x_SETFIELD_Px(reg, DVBS1_ENABLE_FIELD, 0);
|
||||||
|
STV090x_SETFIELD_Px(reg, DVBS2_ENABLE_FIELD, 0);
|
||||||
|
if (STV090x_WRITE_DEMOD(state, DMDCFGMD, reg) < 0)
|
||||||
|
goto err;
|
||||||
STV090x_SETFIELD_Px(reg, DVBS1_ENABLE_FIELD, 1);
|
STV090x_SETFIELD_Px(reg, DVBS1_ENABLE_FIELD, 1);
|
||||||
STV090x_SETFIELD_Px(reg, DVBS2_ENABLE_FIELD, 1);
|
STV090x_SETFIELD_Px(reg, DVBS2_ENABLE_FIELD, 1);
|
||||||
if (STV090x_WRITE_DEMOD(state, DMDCFGMD, reg) < 0)
|
if (STV090x_WRITE_DEMOD(state, DMDCFGMD, reg) < 0)
|
||||||
|
|
Loading…
Reference in a new issue