Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3b49d231 authored by Vladimir Zapolskiy's avatar Vladimir Zapolskiy Committed by Greg Kroah-Hartman
Browse files

USB: s3c2410: deactivate endpoints before gadget unbinding



Gadget disconnect must be called before unbinding to avoid races.
The change fixes an oops on g_ether module unregistering.

Signed-off-by: default avatarVladimir Zapolskiy <vzapolskiy@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 4c9715de
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -1700,9 +1700,13 @@ int usb_gadget_unregister_driver(struct usb_gadget_driver *driver)
	if (!driver || driver != udc->driver || !driver->unbind)
		return -EINVAL;

	dprintk(DEBUG_NORMAL,"usb_gadget_register_driver() '%s'\n",
	dprintk(DEBUG_NORMAL, "usb_gadget_unregister_driver() '%s'\n",
		driver->driver.name);

	/* report disconnect */
	if (driver->disconnect)
		driver->disconnect(&udc->gadget);

	driver->unbind(&udc->gadget);

	device_del(&udc->gadget.dev);