Commit ede2200d authored by Hartmut Hackmann's avatar Hartmut Hackmann Committed by Mauro Carvalho Chehab

V4L/DVB (5369): Fixed 1 byte too short buffer in tda827x.c

- The i2c data buffer in tda827xa_set_params was 1 byte too short
- saa7134-dvb now gives an error mesage if tda827x could not be attached
- coding style fix in tda1004x.c
Signed-off-by: default avatarHartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent 8481a750
...@@ -695,7 +695,8 @@ static int tda1004x_set_fe(struct dvb_frontend* fe, ...@@ -695,7 +695,8 @@ static int tda1004x_set_fe(struct dvb_frontend* fe,
// set frequency // set frequency
if (fe->ops.tuner_ops.set_params) { if (fe->ops.tuner_ops.set_params) {
fe->ops.tuner_ops.set_params(fe, fe_params); fe->ops.tuner_ops.set_params(fe, fe_params);
if (fe->ops.i2c_gate_ctrl) fe->ops.i2c_gate_ctrl(fe, 0); if (fe->ops.i2c_gate_ctrl)
fe->ops.i2c_gate_ctrl(fe, 0);
} }
// Hardcoded to use auto as much as possible on the TDA10045 as it // Hardcoded to use auto as much as possible on the TDA10045 as it
......
...@@ -214,7 +214,7 @@ static int tda827xa_set_params(struct dvb_frontend *fe, ...@@ -214,7 +214,7 @@ static int tda827xa_set_params(struct dvb_frontend *fe,
struct dvb_frontend_parameters *params) struct dvb_frontend_parameters *params)
{ {
struct tda827x_priv *priv = fe->tuner_priv; struct tda827x_priv *priv = fe->tuner_priv;
u8 buf[10]; u8 buf[11];
struct i2c_msg msg = { .addr = priv->i2c_addr, .flags = 0, struct i2c_msg msg = { .addr = priv->i2c_addr, .flags = 0,
.buf = buf, .len = sizeof(buf) }; .buf = buf, .len = sizeof(buf) };
......
...@@ -692,8 +692,11 @@ static void configure_tda827x_fe(struct saa7134_dev *dev, struct tda1004x_config ...@@ -692,8 +692,11 @@ static void configure_tda827x_fe(struct saa7134_dev *dev, struct tda1004x_config
if (dev->dvb.frontend) { if (dev->dvb.frontend) {
if (tda_conf->i2c_gate) if (tda_conf->i2c_gate)
dev->dvb.frontend->ops.i2c_gate_ctrl = tda8290_i2c_gate_ctrl; dev->dvb.frontend->ops.i2c_gate_ctrl = tda8290_i2c_gate_ctrl;
dvb_attach(tda827x_attach,dev->dvb.frontend, if (dvb_attach(tda827x_attach, dev->dvb.frontend, tda_conf->tuner_address,
tda_conf->tuner_address,&dev->i2c_adap,&tda827x_cfg); &dev->i2c_adap,&tda827x_cfg) == NULL) {
printk ("saa7134/dvb: no tda827x tuner found at addr: %02x\n",
tda_conf->tuner_address);
}
} }
} }
...@@ -1038,9 +1041,12 @@ static int dvb_init(struct saa7134_dev *dev) ...@@ -1038,9 +1041,12 @@ static int dvb_init(struct saa7134_dev *dev)
&ads_tech_duo_config, &ads_tech_duo_config,
&dev->i2c_adap); &dev->i2c_adap);
if (dev->dvb.frontend) { if (dev->dvb.frontend) {
dvb_attach(tda827x_attach,dev->dvb.frontend, if (dvb_attach(tda827x_attach,dev->dvb.frontend,
ads_tech_duo_config.tuner_address, ads_tech_duo_config.tuner_address,
&dev->i2c_adap,&ads_duo_cfg); &dev->i2c_adap,&ads_duo_cfg) == NULL) {
printk ("saa7134/dvb: no tda827x tuner found at addr: %02x\n",
ads_tech_duo_config.tuner_address);
}
} }
break; break;
case SAA7134_BOARD_TEVION_DVBT_220RF: case SAA7134_BOARD_TEVION_DVBT_220RF:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment