Commit 823eebac authored by Antti Palosaari's avatar Antti Palosaari Committed by Mauro Carvalho Chehab
Browse files

[media] dvb_usb_v2: probe/disconnect error handling



In my understanding we never call .disconnect() when .probe()
returns error. Change .probe() to return error all cases it cannot
handle given interface and simplify .disconnect() handling.

Signed-off-by: default avatarAntti Palosaari <crope@iki.fi>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent d496eb8a
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -393,7 +393,7 @@ int dvb_usbv2_probe(struct usb_interface *intf,

	if (d->intf->cur_altsetting->desc.bInterfaceNumber !=
			d->props.bInterfaceNumber) {
		ret = 0;
		ret = -ENODEV;
		goto err_kfree;
	}

@@ -419,7 +419,7 @@ EXPORT_SYMBOL(dvb_usbv2_probe);
void dvb_usbv2_disconnect(struct usb_interface *intf)
{
	struct dvb_usb_device *d = usb_get_intfdata(intf);
	const char *name = "generic DVB-USB module";
	const char *name;

	pr_debug("%s: pid=%d work_pid=%d\n", __func__, current->pid,
			d->work_pid);
@@ -428,10 +428,8 @@ void dvb_usbv2_disconnect(struct usb_interface *intf)
	if (d->work_pid != current->pid)
		cancel_work_sync(&d->probe_work);

	if (d) {
	name = d->name;
	dvb_usbv2_exit(d);
	}

	pr_info("%s: '%s' successfully deinitialized and disconnected\n",
			KBUILD_MODNAME, name);