From 0b4b9cb67d3b34766bb6cf3766a1089328ab0a3b Mon Sep 17 00:00:00 2001 From: Michael Krufky Date: Thu, 8 Sep 2011 04:12:57 -0300 Subject: [PATCH] --- yaml --- r: 271822 b: refs/heads/master c: 1251312a5cabd2416fd4df61941fa15ad85b0225 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/media/dvb/dvb-usb/mxl111sf.c | 19 +++++++++++-------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/[refs] b/[refs] index 7f24c0b8315c..05c896eee948 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 36588715fc0ed3ff0ffb025dc841652cb3b2b667 +refs/heads/master: 1251312a5cabd2416fd4df61941fa15ad85b0225 diff --git a/trunk/drivers/media/dvb/dvb-usb/mxl111sf.c b/trunk/drivers/media/dvb/dvb-usb/mxl111sf.c index 0c3f69ae946a..546ba5915a5b 100644 --- a/trunk/drivers/media/dvb/dvb-usb/mxl111sf.c +++ b/trunk/drivers/media/dvb/dvb-usb/mxl111sf.c @@ -379,7 +379,8 @@ static int mxl111sf_lgdt3305_frontend_attach(struct dvb_usb_adapter *adap) { struct dvb_usb_device *d = adap->dev; struct mxl111sf_state *state = d->priv; - struct mxl111sf_adap_state *adap_state = adap->fe_adap[0].priv; + int fe_id = adap->num_frontends_initialized; + struct mxl111sf_adap_state *adap_state = adap->fe_adap[fe_id].priv; int ret; deb_adv("%s()\n", __func__); @@ -422,14 +423,14 @@ static int mxl111sf_lgdt3305_frontend_attach(struct dvb_usb_adapter *adap) if (mxl_fail(ret)) goto fail; - adap->fe_adap[0].fe = dvb_attach(lgdt3305_attach, + adap->fe_adap[fe_id].fe = dvb_attach(lgdt3305_attach, &hauppauge_lgdt3305_config, &adap->dev->i2c_adap); - if (adap->fe_adap[0].fe) { - adap_state->fe_init = adap->fe_adap[0].fe->ops.init; - adap->fe_adap[0].fe->ops.init = mxl111sf_adap_fe_init; - adap_state->fe_sleep = adap->fe_adap[0].fe->ops.sleep; - adap->fe_adap[0].fe->ops.sleep = mxl111sf_adap_fe_sleep; + if (adap->fe_adap[fe_id].fe) { + adap_state->fe_init = adap->fe_adap[fe_id].fe->ops.init; + adap->fe_adap[fe_id].fe->ops.init = mxl111sf_adap_fe_init; + adap_state->fe_sleep = adap->fe_adap[fe_id].fe->ops.sleep; + adap->fe_adap[fe_id].fe->ops.sleep = mxl111sf_adap_fe_sleep; return 0; } ret = -EIO; @@ -514,10 +515,12 @@ static int mxl111sf_attach_tuner(struct dvb_usb_adapter *adap) { struct dvb_usb_device *d = adap->dev; struct mxl111sf_state *state = d->priv; + int fe_id = adap->num_frontends_initialized; deb_adv("%s()\n", __func__); - if (NULL != dvb_attach(mxl111sf_tuner_attach, adap->fe_adap[0].fe, state, + if (NULL != dvb_attach(mxl111sf_tuner_attach, + adap->fe_adap[fe_id].fe, state, &mxl_tuner_config)) return 0;