From: Mauro Carvalho Chehab <m.chehab@samsung.com>
Date: Sun, 26 Jan 2014 18:39:06 +0000 (-0300)
Subject: [media] drx-j: call ctrl_set_standard even if a standard is powered
X-Git-Tag: firefly_0821_release~176^2~3573^2~561
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=c4dc6f9222a621c1d1f44120590093d2d58441d4;p=firefly-linux-kernel-4.4.55.git

[media] drx-j: call ctrl_set_standard even if a standard is powered

Modulation and other parameters might have changed. So, better
to call ctrl_set_standard() even if the device is already
powered.

That helps to put the device into a sane state, if something
got wrong on a previous set_frontend call.

Acked-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
---

diff --git a/drivers/media/dvb-frontends/drx39xyj/drxj.c b/drivers/media/dvb-frontends/drx39xyj/drxj.c
index 7f17cd14839b..b1a7dfeec489 100644
--- a/drivers/media/dvb-frontends/drx39xyj/drxj.c
+++ b/drivers/media/dvb-frontends/drx39xyj/drxj.c
@@ -20213,18 +20213,15 @@ static int drx39xxj_set_frontend(struct dvb_frontend *fe)
 	default:
 		return -EINVAL;
 	}
-
-	if (standard != state->current_standard || state->powered_up == 0) {
-		/* Set the standard (will be powered up if necessary */
-		result = ctrl_set_standard(demod, &standard);
-		if (result != 0) {
-			pr_err("Failed to set standard! result=%02x\n",
-			       result);
-			return -EINVAL;
-		}
-		state->powered_up = 1;
-		state->current_standard = standard;
+	/* Set the standard (will be powered up if necessary */
+	result = ctrl_set_standard(demod, &standard);
+	if (result != 0) {
+		pr_err("Failed to set standard! result=%02x\n",
+			result);
+		return -EINVAL;
 	}
+	state->powered_up = 1;
+	state->current_standard = standard;
 
 	/* set channel parameters */
 	channel = def_channel;