From: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Date: Sun, 15 Oct 2017 18:54:52 +0000 (-0400)
Subject: media:  mxl5xx: fix tuning logic
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=2919d12de52106279b92a75e9a6788b5c668a159;p=openwrt%2Fstaging%2Fblogic.git

media:  mxl5xx: fix tuning logic

The tuning logic is broken with regards to status report:
it relies on a previously-cached value that may not be valid
if re-tuned.

Change the logic to always read the status.

Acked-by: Daniel Scheller <d.scheller@gmx.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
---

diff --git a/drivers/media/dvb-frontends/mxl5xx.c b/drivers/media/dvb-frontends/mxl5xx.c
index 53064e11f5f1..1ebc3830579f 100644
--- a/drivers/media/dvb-frontends/mxl5xx.c
+++ b/drivers/media/dvb-frontends/mxl5xx.c
@@ -636,16 +636,9 @@ static int tune(struct dvb_frontend *fe, bool re_tune,
 		if (r)
 			return r;
 		state->tune_time = jiffies;
-		return 0;
 	}
-	if (*status & FE_HAS_LOCK)
-		return 0;
 
-	r = read_status(fe, status);
-	if (r)
-		return r;
-
-	return 0;
+	return read_status(fe, status);
 }
 
 static enum fe_code_rate conv_fec(enum MXL_HYDRA_FEC_E fec)