diff options
author | Michael Krufky <mkrufky@linuxtv.org> | 2008-05-04 22:54:23 +0200 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-05-14 07:54:04 +0200 |
commit | c151c32fd7d8f5ca7dcd35430f2e625181c48d66 (patch) | |
tree | 8f2fa8ff952c83b7d2fb09b4ecfe66b519de7cd4 | |
parent | V4L/DVB (7838): tda18271: fix error handling in tda18271c2_rf_cal_init path (diff) | |
download | linux-c151c32fd7d8f5ca7dcd35430f2e625181c48d66.tar.xz linux-c151c32fd7d8f5ca7dcd35430f2e625181c48d66.zip |
V4L/DVB (7839): tda18271: abort rf band calibration loop on errors
Abort rf band calibration loop for the TDA18271HD/C2 if an error is detected.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r-- | drivers/media/common/tuners/tda18271-fe.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/media/common/tuners/tda18271-fe.c b/drivers/media/common/tuners/tda18271-fe.c index d4fdcd4a0e06..3f7ca45bba9b 100644 --- a/drivers/media/common/tuners/tda18271-fe.c +++ b/drivers/media/common/tuners/tda18271-fe.c @@ -605,9 +605,13 @@ static int tda18271_calc_rf_filter_curve(struct dvb_frontend *fe) goto fail; /* rf band calibration */ - for (i = 0; priv->rf_cal_state[i].rfmax != 0; i++) + for (i = 0; priv->rf_cal_state[i].rfmax != 0; i++) { + ret = tda18271_rf_tracking_filters_init(fe, 1000 * priv->rf_cal_state[i].rfmax); + if (ret < 0) + goto fail; + } priv->tm_rfcal = tda18271_read_thermometer(fe); fail: @@ -640,7 +644,10 @@ static int tda18271c2_rf_cal_init(struct dvb_frontend *fe) tda_info("tda18271: RF tracking filter calibration complete\n"); priv->cal_initialized = true; + goto end; fail: + tda_info("tda18271: RF tracking filter calibration failed!\n"); +end: return ret; } |