From 9dc2ce710c1c9d9a4bf2025effdfdee7ed765875 Mon Sep 17 00:00:00 2001 From: Patrick Boettcher Date: Wed, 2 Aug 2006 08:44:31 -0300 Subject: [PATCH] --- yaml --- r: 37386 b: refs/heads/master c: 5a19f312162abd1356cdcda608f2b13502a383cc h: refs/heads/master v: v3 --- [refs] | 2 +- .../drivers/media/dvb/dvb-usb/dibusb-common.c | 20 +++++++++++-------- trunk/drivers/media/dvb/dvb-usb/dvb-usb-dvb.c | 7 ++++--- 3 files changed, 17 insertions(+), 12 deletions(-) diff --git a/[refs] b/[refs] index 018c67b899a0..98114cb68f3a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 42afd061700edb43bb082bc65a2ddde431151d6b +refs/heads/master: 5a19f312162abd1356cdcda608f2b13502a383cc diff --git a/trunk/drivers/media/dvb/dvb-usb/dibusb-common.c b/trunk/drivers/media/dvb/dvb-usb/dibusb-common.c index 390ced9ae4bc..6723c153e3f4 100644 --- a/trunk/drivers/media/dvb/dvb-usb/dibusb-common.c +++ b/trunk/drivers/media/dvb/dvb-usb/dibusb-common.c @@ -230,15 +230,19 @@ static struct dib3000mc_config mod3000p_dib3000p_config = { int dibusb_dib3000mc_frontend_attach(struct dvb_usb_device *d) { - if (dib3000mc_attach(&d->i2c_adap, 1, DEFAULT_DIB3000P_I2C_ADDRESS, 0, &mod3000p_dib3000p_config, &d->fe) == 0) { - if (d->priv != NULL) { - struct dibusb_state *st = d->priv; - st->ops.pid_parse = dib3000mc_pid_parse; - st->ops.pid_ctrl = dib3000mc_pid_control; - } - return 0; + int ret; + if ((ret = dib3000mc_attach(&d->i2c_adap, 1, DEFAULT_DIB3000P_I2C_ADDRESS, 0, &mod3000p_dib3000p_config, &d->fe)) != 0) + return ret; + + if ((ret = dib3000mc_attach(&d->i2c_adap, 1, DEFAULT_DIB3000MC_I2C_ADDRESS, 0, &mod3000p_dib3000p_config, &d->fe)) != 0) + return ret; + + if (d->priv != NULL) { + struct dibusb_state *st = d->priv; + st->ops.pid_parse = dib3000mc_pid_parse; + st->ops.pid_ctrl = dib3000mc_pid_control; } - return -ENODEV; + return 0; } EXPORT_SYMBOL(dibusb_dib3000mc_frontend_attach); diff --git a/trunk/drivers/media/dvb/dvb-usb/dvb-usb-dvb.c b/trunk/drivers/media/dvb/dvb-usb/dvb-usb-dvb.c index 71a754e2287e..3a19689d9c9a 100644 --- a/trunk/drivers/media/dvb/dvb-usb/dvb-usb-dvb.c +++ b/trunk/drivers/media/dvb/dvb-usb/dvb-usb-dvb.c @@ -191,12 +191,13 @@ int dvb_usb_fe_init(struct dvb_usb_device* d) d->fe = NULL; return -ENODEV; } + + /* only attach the tuner if the demod is there */ + if (d->props.tuner_attach != NULL) + d->props.tuner_attach(d); } else err("no frontend was attached by '%s'",d->desc->name); - if (d->props.tuner_attach != NULL) - d->props.tuner_attach(d); - return 0; }