From 18fea4ccf6cfd5fcb47ffed5856582bf067ea1e2 Mon Sep 17 00:00:00 2001 From: Patrick Boettcher Date: Tue, 8 Aug 2006 15:48:11 -0300 Subject: [PATCH] --- yaml --- r: 37389 b: refs/heads/master c: 4e66c97c9299d53f1d9167e42b05357f023099c8 h: refs/heads/master i: 37387: ee93073f766570e0999c66c3553d1ac28c128324 v: v3 --- [refs] | 2 +- trunk/drivers/media/dvb/dvb-usb/dvb-usb-dvb.c | 9 +++++---- trunk/drivers/media/dvb/frontends/dib3000mc.c | 5 +++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index 9e1864da348e..fa290c29dd67 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a2c00a0eee751e298c916508b6fa5cee0d7d188d +refs/heads/master: 4e66c97c9299d53f1d9167e42b05357f023099c8 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 3a19689d9c9a..fe6208ada903 100644 --- a/trunk/drivers/media/dvb/dvb-usb/dvb-usb-dvb.c +++ b/trunk/drivers/media/dvb/dvb-usb/dvb-usb-dvb.c @@ -175,7 +175,7 @@ static int dvb_usb_fe_sleep(struct dvb_frontend *fe) int dvb_usb_fe_init(struct dvb_usb_device* d) { if (d->props.frontend_attach == NULL) { - err("strange '%s' doesn't want to attach a frontend.",d->desc->name); + err("strange: '%s' doesn't want to attach a frontend.",d->desc->name); return 0; } @@ -186,8 +186,7 @@ int dvb_usb_fe_init(struct dvb_usb_device* d) if (dvb_register_frontend(&d->dvb_adap, d->fe)) { err("Frontend registration failed."); - if (d->fe->ops.release) - d->fe->ops.release(d->fe); + dvb_frontend_detach(d->fe); d->fe = NULL; return -ENODEV; } @@ -203,7 +202,9 @@ int dvb_usb_fe_init(struct dvb_usb_device* d) int dvb_usb_fe_exit(struct dvb_usb_device *d) { - if (d->fe != NULL) + if (d->fe != NULL) { dvb_unregister_frontend(d->fe); + dvb_frontend_detach(d->fe); + } return 0; } diff --git a/trunk/drivers/media/dvb/frontends/dib3000mc.c b/trunk/drivers/media/dvb/frontends/dib3000mc.c index cc41c6bcdaf6..04ce6276f873 100644 --- a/trunk/drivers/media/dvb/frontends/dib3000mc.c +++ b/trunk/drivers/media/dvb/frontends/dib3000mc.c @@ -899,9 +899,10 @@ int dib3000mc_attach(struct i2c_adapter *i2c_adap, int no_of_demods, u8 default_ return 0; error: - for (k = 0; k < num; k++) + for (k = 0; k < num; k++) { kfree(demod[k]->demodulator_priv); - + demod[k] = NULL; + } return -EINVAL; }