Skip to content

Commit

Permalink
USB: s3c2410: deactivate endpoints before gadget unbinding
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Vladimir Zapolskiy authored and Greg Kroah-Hartman committed Jun 30, 2010
1 parent 4c9715d commit 3b49d23
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion drivers/usb/gadget/s3c2410_udc.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down

0 comments on commit 3b49d23

Please sign in to comment.