Skip to content

Commit

Permalink
V4L/DVB (13262): tda18271: fix regression preventing std map override…
Browse files Browse the repository at this point in the history
… from taking effect

In the changeset entitled, "tda18271: add support for the set_config method",
the initialization order was changed such that the standard map overrides
were being applied before loading the default standard map, based on the
stepping of the silicon.  This changeset restores the proper order by
processing the standard map overrides both within the tda18271_set_config()
and the tda18271_attach() functions, after we read the id register of the
tuner.

Thanks to Michael Obst for his testing, helping me to identify the regression.

Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
Signed-off-by: Michael Obst <mike.obst@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Michael Krufky authored and Mauro Carvalho Chehab committed Dec 5, 2009
1 parent 0700ade commit 972aacc
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions drivers/media/common/tuners/tda18271-fe.c
Original file line number Diff line number Diff line change
Expand Up @@ -1198,10 +1198,6 @@ static int tda18271_setup_configuration(struct dvb_frontend *fe,
priv->output_opt = (cfg) ?
cfg->output_opt : TDA18271_OUTPUT_LT_XT_ON;

/* override default std map with values in config struct */
if ((cfg) && (cfg->std_map))
tda18271_update_std_map(fe, cfg->std_map);

return 0;
}

Expand All @@ -1224,6 +1220,10 @@ static int tda18271_set_config(struct dvb_frontend *fe, void *priv_cfg)
if (tda18271_need_cal_on_startup(cfg))
tda18271_init(fe);

/* override default std map with values in config struct */
if ((cfg) && (cfg->std_map))
tda18271_update_std_map(fe, cfg->std_map);

return 0;
}

Expand Down Expand Up @@ -1307,6 +1307,10 @@ struct dvb_frontend *tda18271_attach(struct dvb_frontend *fe, u8 addr,
break;
}

/* override default std map with values in config struct */
if ((cfg) && (cfg->std_map))
tda18271_update_std_map(fe, cfg->std_map);

mutex_unlock(&tda18271_list_mutex);

memcpy(&fe->ops.tuner_ops, &tda18271_tuner_ops,
Expand Down

0 comments on commit 972aacc

Please sign in to comment.