USB: gadget: atmel: disconnect before unbind
When unbind the gadget driver, need call disconnect first.
Signed-off-by: Bo Shen <voice.shen@atmel.com>
diff --git a/drivers/usb/gadget/atmel_usba_udc.c b/drivers/usb/gadget/atmel_usba_udc.c
index f146c48..c99208d 100644
--- a/drivers/usb/gadget/atmel_usba_udc.c
+++ b/drivers/usb/gadget/atmel_usba_udc.c
@@ -1240,11 +1240,12 @@
{
struct usba_udc *udc = &controller;
- if (!driver || !driver->bind || !driver->setup) {
+ if (!driver || !driver->unbind || !driver->disconnect) {
error("bad paramter\n");
return -EINVAL;
}
+ driver->disconnect(&udc->gadget);
driver->unbind(&udc->gadget);
udc->driver = NULL;