[PATCH v2 04/11] USB: chipidea: clear gadget struct at udc_start fail path
From: alexander.shishkin@linux.intel.com (Alexander Shishkin)
Date: 2012-08-28 08:29:35
From: alexander.shishkin@linux.intel.com (Alexander Shishkin)
Date: 2012-08-28 08:29:35
Richard Zhao [off-list ref] writes:
States in gadget are not needed any more, set it to zero.
It's generally a good practice to mention in the commit message what is it that you are fixing with this patch.
Signed-off-by: Richard Zhao <redacted> --- drivers/usb/chipidea/udc.c | 1 + 1 file changed, 1 insertion(+)diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc.c index c7a032a..9fb6394 100644 --- a/drivers/usb/chipidea/udc.c +++ b/drivers/usb/chipidea/udc.c@@ -1746,6 +1746,7 @@ free_pools: dma_pool_destroy(ci->td_pool); free_qh_pool: dma_pool_destroy(ci->qh_pool); + memset(&ci->gadget, 0, sizeof(ci->gadget));
I understand that you're probably hitting "kobject already initialized" warning here, but I think the real problem is that this function gets called twice and fails the first time. Why does that happen? In any case, please elaborate on the problem. Regards, -- Alex