From 4585fc58639757ee6f3a654697a9fb5763adffcd Mon Sep 17 00:00:00 2001
From: Bo Shen <voice.shen@atmel.com>
Date: Tue, 24 Sep 2013 13:19:24 +0800
Subject: [PATCH] USB: gadget: atmel: disconnect before unbind

When unbind the gadget driver, need call disconnect first.

Signed-off-by: Bo Shen <voice.shen@atmel.com>
---
 drivers/usb/gadget/atmel_usba_udc.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/gadget/atmel_usba_udc.c b/drivers/usb/gadget/atmel_usba_udc.c
index f146c48afa..c99208d102 100644
--- a/drivers/usb/gadget/atmel_usba_udc.c
+++ b/drivers/usb/gadget/atmel_usba_udc.c
@@ -1240,11 +1240,12 @@ int usb_gadget_unregister_driver(struct usb_gadget_driver *driver)
 {
 	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;
 
-- 
2.39.5