summaryrefslogtreecommitdiff
path: root/linux/drivers/media/common/tuners/tda18271-common.c
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@linuxtv.org>2008-06-08 18:12:37 -0400
committerMichael Krufky <mkrufky@linuxtv.org>2008-06-08 18:12:37 -0400
commit12e2aee260072adb596daa139922383866261deb (patch)
treef5db20e111f9cdbb753212adfd6692745600b422 /linux/drivers/media/common/tuners/tda18271-common.c
parentad38525031a5cbc005a9b5de6800287db67af8c8 (diff)
downloadmediapointer-dvb-s2-12e2aee260072adb596daa139922383866261deb.tar.gz
mediapointer-dvb-s2-12e2aee260072adb596daa139922383866261deb.tar.bz2
tda18271: dont touch EB14 if rf_cal lookup is out of range
From: Michael Krufky <mkrufky@linuxtv.org> The TDA18271HD/C1 rf_cal map lookup is expected to go out of range outside of the frequency window 41 MHz - 61.1 MHz. In these cases, the internal RF tracking filters calibration mechanism is used. Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Diffstat (limited to 'linux/drivers/media/common/tuners/tda18271-common.c')
-rw-r--r--linux/drivers/media/common/tuners/tda18271-common.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/linux/drivers/media/common/tuners/tda18271-common.c b/linux/drivers/media/common/tuners/tda18271-common.c
index 1eaff90da..a8fb96698 100644
--- a/linux/drivers/media/common/tuners/tda18271-common.c
+++ b/linux/drivers/media/common/tuners/tda18271-common.c
@@ -717,9 +717,17 @@ int tda18271_calc_rf_cal(struct dvb_frontend *fe, u32 *freq)
u8 val;
int ret = tda18271_lookup_map(fe, RF_CAL, freq, &val);
+ /* The TDA18271HD/C1 rf_cal map lookup is expected to go out of range
+ * for frequencies above 61.1 MHz. In these cases, the internal RF
+ * tracking filters calibration mechanism is used.
+ *
+ * There is no need to warn the user about this.
+ */
+ if (ret < 0)
+ goto fail;
regs[R_EB14] = val;
-
+fail:
return ret;
}