From: Sebastian Andrzej Siewior Date: Mon, 6 Feb 2012 17:46:35 +0000 (+0100) Subject: usb: gadget: clean the ep in autoconf before returning it. X-Git-Tag: v3.4-rc1~184^2~22^2~39^2~26 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=609ca228073ae06c5513474d2cdf0af7ee5766ec;p=pandora-kernel.git usb: gadget: clean the ep in autoconf before returning it. Since commit 72c973dd aka ("usb: gadget: add usb_endpoint_descriptor to struct usb_ep) the descriptor is part of the ep. Most gadgets like g_zero or masstorage call config_ep_by_speed() to grab an available endpoint which may be used for FS/HS/SS bulk/iso/intr and in a second they assign the proper descriptor by calling config_ep_by_speed(). This is good so far. A few of them like ncm call config_ep_by_speed() only if ep->desc not assigned earlier. That means ep->desc is never assigned if the endpoint was used by another gadget before it was removed. Some of those gadgets also assign ep->driver_data to NULL on reset or ep_disable part _but_ keep a reference to this endpoint. At ep_enable time they assign driver_data to their private data. This probably needs a clean up of its own. Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Felipe Balbi --- Reading git-diff-tree failed