Skip to contentSkip to conversation

stb0899: fixed reading of IF_AGC_GAIN register

PATCH In review Andreas Regel 2 participants 2 messages Feb 28, 2012 – Feb 29, 2012 Media (V4L/DVB)

lore
Share & tools
lore
#0 lore raw

PATCH 2/2 stb0899: fixed reading of IF_AGC_GAIN register

When reading IF_AGC_GAIN register a wrong value for the base address register was used (STB0899_DEMOD instead of STB0899_S2DEMOD). That lead to a wrong signal strength value on DVB-S2 transponders.

---
 drivers/media/dvb/frontends/stb0899_drv.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
drivers/media/dvb/frontends/stb0899_drv.c +1 -1
index 4a58afc..a2e9eba 100644
@@ -983,7 +983,7 @@ static int stb0899_read_signal_strength(struct dvb_frontend *fe, u16 *strength)
 		break;
 	case SYS_DVBS2:
 		if (internal->lock) {
-			reg = STB0899_READ_S2REG(STB0899_DEMOD, IF_AGC_GAIN);
+			reg = STB0899_READ_S2REG(STB0899_S2DEMOD, IF_AGC_GAIN);
 			val = STB0899_GETFIELD(IF_AGC_GAIN, reg);
  			*strength = stb0899_table_lookup(stb0899_dvbs2rf_tab, 

ARRAY_SIZE(stb0899_dvbs2rf_tab) - 1, val);

Signature · 1 line
1.7.2.5
Acked-by on v1 2/2
#1 lore raw
Quoted 14 lines

When reading IF_AGC_GAIN register a wrong value for the base address register was used (STB0899_DEMOD instead of STB0899_S2DEMOD). That lead to a wrong signal strength value on DVB-S2 transponders.

---
 drivers/media/dvb/frontends/stb0899_drv.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
drivers/media/dvb/frontends/stb0899_drv.c +0 -0
index 4a58afc..a2e9eba 100644

drivers/media/dvb/frontends/stb0899_drv.c static int stb0899_read_signal_strength(struct dvb_frontend *fe, u16 *strength) · line 988

Quoted 7 lines
drivers/media/dvb/frontends/stb0899_drv.c +1 -1
@@ -983,7 +983,7 @@ static int stb0899_read_signal_strength(struct dvb_frontend *fe, u16 *strength)
         break;
     case SYS_DVBS2:
         if (internal->lock) {
-            reg = STB0899_READ_S2REG(STB0899_DEMOD, IF_AGC_GAIN);
+            reg = STB0899_READ_S2REG(STB0899_S2DEMOD, IF_AGC_GAIN);
             val = STB0899_GETFIELD(IF_AGC_GAIN, reg);
              *strength = stb0899_table_lookup(stb0899_dvbs2rf_tab, ARRAY_SIZE(stb0899_dvbs2rf_tab) - 1, val);