diff options
author | Hartmut Hackmann <hartmut.hackmann@t-online.de> | 2007-04-27 11:31:32 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-04-27 14:44:07 -0400 |
commit | ede2200d79777d461cf2f0fd19cf7a17f633d3a4 (patch) | |
tree | e12df65dcb5aa1e8738d31e19f651c8e5d721148 | |
parent | 8481a7506bc71622bb5bbd89bc89b2f38bff5ead (diff) |
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: Hartmut Hackmann <hartmut.hackmann@t-online.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r-- | drivers/media/dvb/frontends/tda1004x.c | 3 | ||||
-rw-r--r-- | drivers/media/dvb/frontends/tda827x.c | 2 | ||||
-rw-r--r-- | drivers/media/video/saa7134/saa7134-dvb.c | 14 |
3 files changed, 13 insertions, 6 deletions
diff --git a/drivers/media/dvb/frontends/tda1004x.c b/drivers/media/dvb/frontends/tda1004x.c index 3de729b3b4bf..f4882457d021 100644 --- a/drivers/media/dvb/frontends/tda1004x.c +++ b/drivers/media/dvb/frontends/tda1004x.c | |||
@@ -695,7 +695,8 @@ static int tda1004x_set_fe(struct dvb_frontend* fe, | |||
695 | // set frequency | 695 | // set frequency |
696 | if (fe->ops.tuner_ops.set_params) { | 696 | if (fe->ops.tuner_ops.set_params) { |
697 | fe->ops.tuner_ops.set_params(fe, fe_params); | 697 | fe->ops.tuner_ops.set_params(fe, fe_params); |
698 | if (fe->ops.i2c_gate_ctrl) fe->ops.i2c_gate_ctrl(fe, 0); | 698 | if (fe->ops.i2c_gate_ctrl) |
699 | fe->ops.i2c_gate_ctrl(fe, 0); | ||
699 | } | 700 | } |
700 | 701 | ||
701 | // Hardcoded to use auto as much as possible on the TDA10045 as it | 702 | // Hardcoded to use auto as much as possible on the TDA10045 as it |
diff --git a/drivers/media/dvb/frontends/tda827x.c b/drivers/media/dvb/frontends/tda827x.c index edf7a0a902ba..8176a9b5898f 100644 --- a/drivers/media/dvb/frontends/tda827x.c +++ b/drivers/media/dvb/frontends/tda827x.c | |||
@@ -214,7 +214,7 @@ static int tda827xa_set_params(struct dvb_frontend *fe, | |||
214 | struct dvb_frontend_parameters *params) | 214 | struct dvb_frontend_parameters *params) |
215 | { | 215 | { |
216 | struct tda827x_priv *priv = fe->tuner_priv; | 216 | struct tda827x_priv *priv = fe->tuner_priv; |
217 | u8 buf[10]; | 217 | u8 buf[11]; |
218 | 218 | ||
219 | struct i2c_msg msg = { .addr = priv->i2c_addr, .flags = 0, | 219 | struct i2c_msg msg = { .addr = priv->i2c_addr, .flags = 0, |
220 | .buf = buf, .len = sizeof(buf) }; | 220 | .buf = buf, .len = sizeof(buf) }; |
diff --git a/drivers/media/video/saa7134/saa7134-dvb.c b/drivers/media/video/saa7134/saa7134-dvb.c index 659fd1b43c25..3887f04cc60a 100644 --- a/drivers/media/video/saa7134/saa7134-dvb.c +++ b/drivers/media/video/saa7134/saa7134-dvb.c | |||
@@ -692,8 +692,11 @@ static void configure_tda827x_fe(struct saa7134_dev *dev, struct tda1004x_config | |||
692 | if (dev->dvb.frontend) { | 692 | if (dev->dvb.frontend) { |
693 | if (tda_conf->i2c_gate) | 693 | if (tda_conf->i2c_gate) |
694 | dev->dvb.frontend->ops.i2c_gate_ctrl = tda8290_i2c_gate_ctrl; | 694 | dev->dvb.frontend->ops.i2c_gate_ctrl = tda8290_i2c_gate_ctrl; |
695 | dvb_attach(tda827x_attach,dev->dvb.frontend, | 695 | if (dvb_attach(tda827x_attach, dev->dvb.frontend, tda_conf->tuner_address, |
696 | tda_conf->tuner_address,&dev->i2c_adap,&tda827x_cfg); | 696 | &dev->i2c_adap,&tda827x_cfg) == NULL) { |
697 | printk ("saa7134/dvb: no tda827x tuner found at addr: %02x\n", | ||
698 | tda_conf->tuner_address); | ||
699 | } | ||
697 | } | 700 | } |
698 | } | 701 | } |
699 | 702 | ||
@@ -1038,9 +1041,12 @@ static int dvb_init(struct saa7134_dev *dev) | |||
1038 | &ads_tech_duo_config, | 1041 | &ads_tech_duo_config, |
1039 | &dev->i2c_adap); | 1042 | &dev->i2c_adap); |
1040 | if (dev->dvb.frontend) { | 1043 | if (dev->dvb.frontend) { |
1041 | dvb_attach(tda827x_attach,dev->dvb.frontend, | 1044 | if (dvb_attach(tda827x_attach,dev->dvb.frontend, |
1042 | ads_tech_duo_config.tuner_address, | 1045 | ads_tech_duo_config.tuner_address, |
1043 | &dev->i2c_adap,&ads_duo_cfg); | 1046 | &dev->i2c_adap,&ads_duo_cfg) == NULL) { |
1047 | printk ("saa7134/dvb: no tda827x tuner found at addr: %02x\n", | ||
1048 | ads_tech_duo_config.tuner_address); | ||
1049 | } | ||
1044 | } | 1050 | } |
1045 | break; | 1051 | break; |
1046 | case SAA7134_BOARD_TEVION_DVBT_220RF: | 1052 | case SAA7134_BOARD_TEVION_DVBT_220RF: |