aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@linuxtv.org>2008-05-04 16:54:23 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-05-14 01:54:04 -0400
commitc151c32fd7d8f5ca7dcd35430f2e625181c48d66 (patch)
tree8f2fa8ff952c83b7d2fb09b4ecfe66b519de7cd4 /drivers/media
parent24124f784bfec447f5cb9e64ed337afb57f0fca5 (diff)
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>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/common/tuners/tda18271-fe.c9
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)
605 goto fail; 605 goto fail;
606 606
607 /* rf band calibration */ 607 /* rf band calibration */
608 for (i = 0; priv->rf_cal_state[i].rfmax != 0; i++) 608 for (i = 0; priv->rf_cal_state[i].rfmax != 0; i++) {
609 ret =
609 tda18271_rf_tracking_filters_init(fe, 1000 * 610 tda18271_rf_tracking_filters_init(fe, 1000 *
610 priv->rf_cal_state[i].rfmax); 611 priv->rf_cal_state[i].rfmax);
612 if (ret < 0)
613 goto fail;
614 }
611 615
612 priv->tm_rfcal = tda18271_read_thermometer(fe); 616 priv->tm_rfcal = tda18271_read_thermometer(fe);
613fail: 617fail:
@@ -640,7 +644,10 @@ static int tda18271c2_rf_cal_init(struct dvb_frontend *fe)
640 tda_info("tda18271: RF tracking filter calibration complete\n"); 644 tda_info("tda18271: RF tracking filter calibration complete\n");
641 645
642 priv->cal_initialized = true; 646 priv->cal_initialized = true;
647 goto end;
643fail: 648fail:
649 tda_info("tda18271: RF tracking filter calibration failed!\n");
650end:
644 return ret; 651 return ret;
645} 652}
646 653