diff options
-rw-r--r-- | drivers/media/dvb/dvb-usb/dibusb-common.c | 21 |
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 | ||
231 | int dibusb_dib3000mc_frontend_attach(struct dvb_usb_device *d) | 231 | int 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 | } |
247 | EXPORT_SYMBOL(dibusb_dib3000mc_frontend_attach); | 244 | EXPORT_SYMBOL(dibusb_dib3000mc_frontend_attach); |
248 | 245 | ||