View | Details | Raw Unified | Return to bug 197731
Collapse All | Expand All

(-)a/drivers/media/usb/dvb-usb/dw2102.c (-11 / +13 lines)
Lines 2425-2442 static void dw2102_disconnect(struct usb_interface *intf) Link Here
2425
	struct dw2102_state *st = (struct dw2102_state *)d->priv;
2425
	struct dw2102_state *st = (struct dw2102_state *)d->priv;
2426
	struct i2c_client *client;
2426
	struct i2c_client *client;
2427
2427
2428
	/* remove I2C client for tuner */
2428
	if (st) {
2429
	client = st->i2c_client_tuner;
2429
		/* remove I2C client for tuner */
2430
	if (client) {
2430
		client = st->i2c_client_tuner;
2431
		module_put(client->dev.driver->owner);
2431
		if (client) {
2432
		i2c_unregister_device(client);
2432
			module_put(client->dev.driver->owner);
2433
	}
2433
			i2c_unregister_device(client);
2434
		}
2434
2435
2435
	/* remove I2C client for demodulator */
2436
		/* remove I2C client for demodulator */
2436
	client = st->i2c_client_demod;
2437
		client = st->i2c_client_demod;
2437
	if (client) {
2438
		if (client) {
2438
		module_put(client->dev.driver->owner);
2439
			module_put(client->dev.driver->owner);
2439
		i2c_unregister_device(client);
2440
			i2c_unregister_device(client);
2441
		}
2440
	}
2442
	}
2441
2443
2442
	dvb_usb_device_exit(intf);
2444
	dvb_usb_device_exit(intf);

Return to bug 197731