V4L/DVB (9384): FIX: register value is not reset to 0 after write
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
diff --git a/drivers/media/dvb/frontends/stb0899_algo.c b/drivers/media/dvb/frontends/stb0899_algo.c
index 8769315..914a825 100644
--- a/drivers/media/dvb/frontends/stb0899_algo.c
+++ b/drivers/media/dvb/frontends/stb0899_algo.c
@@ -692,24 +692,28 @@
case STB0899_FEC_1_2: /* 13 */
STB0899_SETFIELD_VAL(DEMAPVIT_KDIVIDER, reg, 0x1a);
stb0899_write_reg(state, STB0899_DEMAPVIT, reg);
+ reg = 0;
STB0899_SETFIELD_VAL(BETA, reg, betaTab[0][clnI]);
stb0899_write_reg(state, STB0899_BCLC, reg);
break;
case STB0899_FEC_2_3: /* 18 */
STB0899_SETFIELD_VAL(DEMAPVIT_KDIVIDER, reg, 44);
stb0899_write_reg(state, STB0899_DEMAPVIT, reg);
+ reg = 0;
STB0899_SETFIELD_VAL(BETA, reg, betaTab[1][clnI]);
stb0899_write_reg(state, STB0899_BCLC, reg);
break;
case STB0899_FEC_3_4: /* 21 */
STB0899_SETFIELD_VAL(DEMAPVIT_KDIVIDER, reg, 60);
stb0899_write_reg(state, STB0899_DEMAPVIT, reg);
+ reg = 0;
STB0899_SETFIELD_VAL(BETA, reg, betaTab[2][clnI]);
stb0899_write_reg(state, STB0899_BCLC, reg);
break;
case STB0899_FEC_5_6: /* 24 */
STB0899_SETFIELD_VAL(DEMAPVIT_KDIVIDER, reg, 75);
stb0899_write_reg(state, STB0899_DEMAPVIT, reg);
+ reg = 0;
STB0899_SETFIELD_VAL(BETA, reg, betaTab[3][clnI]);
stb0899_write_reg(state, STB0899_BCLC, reg);
break;
@@ -722,6 +726,7 @@
case STB0899_FEC_7_8: /* 26 */
STB0899_SETFIELD_VAL(DEMAPVIT_KDIVIDER, reg, 94);
stb0899_write_reg(state, STB0899_DEMAPVIT, reg);
+ reg = 0;
STB0899_SETFIELD_VAL(BETA, reg, betaTab[4][clnI]);
stb0899_write_reg(state, STB0899_BCLC, reg);
break;