usb: gadget: Fix minor issues in usb function drivers

1. Free port if create thread fails
2. Check req->buf before accessing it
3. Change count variable type to match smd_write return type

CRs-Fixed: 342316
Change-Id: I55a268d105eb2066d67fc704d31905eaf29a26a4
Signed-off-by: Vamsi Krishna <vskrishn@codeaurora.org>
diff --git a/drivers/usb/gadget/u_sdio.c b/drivers/usb/gadget/u_sdio.c
index 14dc73a..8c4b4c7 100644
--- a/drivers/usb/gadget/u_sdio.c
+++ b/drivers/usb/gadget/u_sdio.c
@@ -231,7 +231,7 @@
 int gsdio_write(struct gsdio_port *port, struct usb_request *req)
 {
 	unsigned	avail;
-	char		*packet = req->buf;
+	char		*packet;
 	unsigned	size = req->actual;
 	unsigned	n;
 	int		ret = 0;