From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756048AbcBCMk1 (ORCPT ); Wed, 3 Feb 2016 07:40:27 -0500 Received: from mailout1.samsung.com ([203.254.224.24]:58817 "EHLO mailout1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751033AbcBCMkW (ORCPT ); Wed, 3 Feb 2016 07:40:22 -0500 X-AuditID: cbfee61b-f793c6d00000236c-a0-56b1f5350329 From: Robert Baldyga To: balbi@ti.com Cc: gregkh@linuxfoundation.org, andrzej.p@samsung.com, m.szyprowski@samsung.com, b.zolnierkie@samsung.com, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Robert Baldyga Subject: [PATCH v4 04/43] usb: gadget: configfs: fix error path Date: Wed, 03 Feb 2016 13:39:12 +0100 Message-id: <1454503191-11796-5-git-send-email-r.baldyga@samsung.com> X-Mailer: git-send-email 1.9.1 In-reply-to: <1454503191-11796-1-git-send-email-r.baldyga@samsung.com> References: <1454503191-11796-1-git-send-email-r.baldyga@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprKLMWRmVeSWpSXmKPExsVy+t9jQV3TrxvDDL5clbeY9bKdxWLjjPWs Fgfv11s0L17PZnF51xw2i0XLWpkt1h65y27x4PBOdgcOj/1z17B79G1Zxehx/MZ2Jo/Pm+QC WKK4bFJSczLLUov07RK4Mi7famYq+MBWsWrFTbYGxiusXYycHBICJhKr5j1hhLDFJC7cW8/W xcjFISQwi1Hixo8/LBDOT0aJBZvbwDrYBHQktnyfANYhIiAgsf7FJXaQImaBc4wSD++0ASU4 OIQF7CUuPnYAqWERUJXo+NXODGLzCrhKPHl1GWqbnMTJY5NZQco5BdwkHh4DKxcCKtnV+p1x AiPvAkaGVYwSqQXJBcVJ6blGeanlesWJucWleel6yfm5mxjBgfVMegfj4V3uhxgFOBiVeHgj fm0IE2JNLCuuzD3EKMHBrCTCa/R5Y5gQb0piZVVqUX58UWlOavEhRmkOFiVx3sf/14UJCaQn lqRmp6YWpBbBZJk4OKUaGFP+ssazSotlPOHJrzjetuSayP/DhpcWVtxtn3TUQ2XRzTjGaxcm XKhbNvsR145bpq3SwWlAXfOTzsjaXzs7v/3jZZanB3y/mSu6nzX8dXTuSybBwy2ae/8zFu9c qnSWR+FtoCn7Jn+DuZI17NvzryXH5si7fklZMqFt6mblQ9/Xe10xYJxyXomlOCPRUIu5qDgR AOz6eaUoAgAA Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org As usb_gstrings_attach() failure can happen when some USB functions are are already added to some configurations (in previous loop iterations), we should always call purge_configs_funcs() to be sure that failure is be handled properly. Signed-off-by: Robert Baldyga --- drivers/usb/gadget/configfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/gadget/configfs.c b/drivers/usb/gadget/configfs.c index 590c449..fb3c9ba 100644 --- a/drivers/usb/gadget/configfs.c +++ b/drivers/usb/gadget/configfs.c @@ -1345,7 +1345,7 @@ static int configfs_composite_bind(struct usb_gadget *gadget, s = usb_gstrings_attach(&gi->cdev, cfg->gstrings, 1); if (IS_ERR(s)) { ret = PTR_ERR(s); - goto err_comp_cleanup; + goto err_purge_funcs; } c->iConfiguration = s[0].id; } -- 1.9.1