Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Andreas Regel and committed by
Mauro Carvalho Chehab
b79c6df7 ceb59cf0

+4
+4
drivers/media/dvb/frontends/stv090x.c
··· 1246 1246 default: 1247 1247 /* enable DVB-S2 and DVB-S2 in Auto MODE */ 1248 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 1253 STV090x_SETFIELD_Px(reg, DVBS1_ENABLE_FIELD, 1); 1250 1254 STV090x_SETFIELD_Px(reg, DVBS2_ENABLE_FIELD, 1); 1251 1255 if (STV090x_WRITE_DEMOD(state, DMDCFGMD, reg) < 0)