mirror of
https://github.com/torvalds/linux.git
synced 2024-11-04 11:04:38 +00:00
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: Vladimir Zapolskiy <vzapolskiy@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
4c9715de52
commit
3b49d2315c
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user