aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/media/dvb/dvb-usb/dibusb-common.c21
1 files changed, 9 insertions, 12 deletions
diff --git a/drivers/media/dvb/dvb-usb/dibusb-common.c b/drivers/media/dvb/dvb-usb/dibusb-common.c
index 6723c153e3f4..ead1f7a4dc00 100644
--- a/drivers/media/dvb/dvb-usb/dibusb-common.c
+++ b/drivers/media/dvb/dvb-usb/dibusb-common.c
@@ -230,19 +230,16 @@ static struct dib3000mc_config mod3000p_dib3000p_config = {
230 230
231int dibusb_dib3000mc_frontend_attach(struct dvb_usb_device *d) 231int dibusb_dib3000mc_frontend_attach(struct dvb_usb_device *d)
232{ 232{
233 int ret; 233 if (dib3000mc_attach(&d->i2c_adap, 1, DEFAULT_DIB3000P_I2C_ADDRESS, 0, &mod3000p_dib3000p_config, &d->fe) == 0 ||
234 if ((ret = dib3000mc_attach(&d->i2c_adap, 1, DEFAULT_DIB3000P_I2C_ADDRESS, 0, &mod3000p_dib3000p_config, &d->fe)) != 0) 234 dib3000mc_attach(&d->i2c_adap, 1, DEFAULT_DIB3000MC_I2C_ADDRESS, 0, &mod3000p_dib3000p_config, &d->fe) == 0) {
235 return ret; 235 if (d->priv != NULL) {
236 236 struct dibusb_state *st = d->priv;
237 if ((ret = dib3000mc_attach(&d->i2c_adap, 1, DEFAULT_DIB3000MC_I2C_ADDRESS, 0, &mod3000p_dib3000p_config, &d->fe)) != 0) 237 st->ops.pid_parse = dib3000mc_pid_parse;
238 return ret; 238 st->ops.pid_ctrl = dib3000mc_pid_control;
239 239 }
240 if (d->priv != NULL) { 240 return 0;
241 struct dibusb_state *st = d->priv;
242 st->ops.pid_parse = dib3000mc_pid_parse;
243 st->ops.pid_ctrl = dib3000mc_pid_control;
244 } 241 }
245 return 0; 242 return -ENODEV;
246} 243}
247EXPORT_SYMBOL(dibusb_dib3000mc_frontend_attach); 244EXPORT_SYMBOL(dibusb_dib3000mc_frontend_attach);
248 245