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>
diff --git a/drivers/media/common/tuners/tda18271-fe.c b/drivers/media/common/tuners/tda18271-fe.c
index d4fdcd4..3f7ca45 100644
--- a/drivers/media/common/tuners/tda18271-fe.c
+++ b/drivers/media/common/tuners/tda18271-fe.c
@@ -605,9 +605,13 @@
 		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 @@
 	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;
 }