USB: msm72k_udc: Clear ep descriptors upon ep disable

Function driver may use stale descriptors if the descriptors
are not cleared upon endpoint disable.  For example if the gadget
is enumerated with a different speed to the previous enumeration,
function drivers use the old speed descriptors.  Function drivers
also use old interface descriptors when a new composition is
selected.

CRs-fixed: 347400
Change-Id: Ic507529c98d3ab262d86e8b5d316081547124cb9
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
diff --git a/drivers/usb/gadget/msm72k_udc.c b/drivers/usb/gadget/msm72k_udc.c
index e0fc12c..0921b4f 100644
--- a/drivers/usb/gadget/msm72k_udc.c
+++ b/drivers/usb/gadget/msm72k_udc.c
@@ -2023,6 +2023,11 @@
 
 	usb_ept_enable(ept, 0, 0);
 	flush_endpoint(ept);
+	/*
+	 * Clear descriptors here. Otherwise previous descriptors
+	 * will be used by function drivers upon next enumeration.
+	 */
+	_ep->desc = NULL;
 	return 0;
 }