From c4dc6f9222a621c1d1f44120590093d2d58441d4 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Sun, 26 Jan 2014 15:39:06 -0300 Subject: [PATCH] [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 Signed-off-by: Mauro Carvalho Chehab --- drivers/media/dvb-frontends/drx39xyj/drxj.c | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) 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; -- 2.20.1