Commit 4e66c97c authored by Patrick Boettcher's avatar Patrick Boettcher Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB: DiB3000MC: set FE to NULL after being freed



DiB3000MC: set FE to NULL after being freed

Signed-off-by: default avatarPatrick Boettcher <pb@linuxtv.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent a2c00a0e
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -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;
}
+3 −2
Original line number Diff line number Diff line
@@ -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;
}