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. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> --- 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; -- 1.8.5.3 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html