From b67e6351b69a4e5135687c85c17a417b41c0e8f7 Mon Sep 17 00:00:00 2001 From: Manu Abraham Date: Mon, 2 Jul 2007 16:36:47 +0400 Subject: FIX: register value is not reset to 0 after write From: Manu Abraham Signed-off-by: Manu Abraham --- linux/drivers/media/dvb/frontends/stb0899_algo.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'linux/drivers') diff --git a/linux/drivers/media/dvb/frontends/stb0899_algo.c b/linux/drivers/media/dvb/frontends/stb0899_algo.c index 51c026460..6f40fa63f 100644 --- a/linux/drivers/media/dvb/frontends/stb0899_algo.c +++ b/linux/drivers/media/dvb/frontends/stb0899_algo.c @@ -692,24 +692,28 @@ enum stb0899_status stb0899_dvbs_algo(struct stb0899_state *state) 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 @@ enum stb0899_status stb0899_dvbs_algo(struct stb0899_state *state) 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; -- cgit v1.2.3