Received: by 2002:a05:6358:16cc:b0:ea:6187:17c9 with SMTP id r12csp10735271rwl; Thu, 12 Jan 2023 01:42:17 -0800 (PST) X-Google-Smtp-Source: AMrXdXvN5dReOPug/Dy83YW+ig6ssvbu/VaZTmfcA51HNj3l1Nzg2xUW6w12u6V43nGaz21DuWOU X-Received: by 2002:aa7:800c:0:b0:589:af4d:43a5 with SMTP id j12-20020aa7800c000000b00589af4d43a5mr12071587pfi.4.1673516537517; Thu, 12 Jan 2023 01:42:17 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1673516537; cv=pass; d=google.com; s=arc-20160816; b=bwV5G4oM/tqs8dgiXwnrwm8sfZre5ohcuccXej26uts+0nQxHKpBy4hmI/ImSVgiCM KKnORZ7tgk09maTGYlaxGWsIwhSS5gy2xCExt3sGtswG1X7YWv8pRu4yeUex4kjPvTT8 eUgcJZsROSe0FryUWYOqaI9Orf3qMWmhxfjTP2RqAjnmXLZCmEUJ77f1J/Q8LKS5dkoo B5Qn8QwWiRochiaI85XAnqlEZdljtRmfDaAPj0TeQGPKmOGfx3qHK95dkmf4ZttTemIo 94fFpg8vEpmSES70I0UMv3mZCbMhNOfguNtX/bz+Yg8fdZ92FmiTHiB0R2PRfmYuZNWQ W8Eg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :in-reply-to:from:references:cc:to:content-language:subject :user-agent:date:message-id:dkim-signature; bh=t+zBNO7kPEwVHaJHp+fg9i6llv2Rm7l0ADB/9bROYFM=; b=KmjszvRwSdzn3jPr8SjTO6EEGakGYsbvf9EmLPyScIgm37E2Fcli4qVTG6kqp1TMEC A9ZBNtjyvFq3kn6K+6dRszx5wCoOt8JhDbnHWOry8u5y9W9P4At7xlr7zQVcoXYkhgfd 8CUEWNIbqtq3AdekfmKk6R5P2UJHlWeafDYnpzA6ErgrqBM8iS+EMq/tIGLKh9PE3AzG ORku8DON2EIz9N6W7E0AZS+yImBV20EZlQc+T8cst9FiAoWkj3BcxEu595R8jxQTOE8R 0N+2h4FcKEUBsoCAJtxkWbbR3+rEqBftWJygRWYrPVyBtp2RflW+43+41DmiJnUtG5aS ENvQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=temperror (no key for signature) header.i=@amperemail.onmicrosoft.com header.s=selector1-amperemail-onmicrosoft-com header.b=J0HDsC4A; arc=pass (i=1 spf=pass spfdomain=os.amperecomputing.com dkim=pass dkdomain=amperemail.onmicrosoft.com dmarc=pass fromdomain=amperemail.onmicrosoft.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e4-20020a636904000000b004780bcf1c1dsi17212619pgc.172.2023.01.12.01.42.11; Thu, 12 Jan 2023 01:42:17 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=temperror (no key for signature) header.i=@amperemail.onmicrosoft.com header.s=selector1-amperemail-onmicrosoft-com header.b=J0HDsC4A; arc=pass (i=1 spf=pass spfdomain=os.amperecomputing.com dkim=pass dkdomain=amperemail.onmicrosoft.com dmarc=pass fromdomain=amperemail.onmicrosoft.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239817AbjALIn1 (ORCPT + 50 others); Thu, 12 Jan 2023 03:43:27 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40080 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238870AbjALIm6 (ORCPT ); Thu, 12 Jan 2023 03:42:58 -0500 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2096.outbound.protection.outlook.com [40.107.243.96]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BF78F517CA; Thu, 12 Jan 2023 00:40:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XshzedgmCm9sBv5kXALEBf3jXyaowmL0Sq4NLHWwp53BB2RSFnta6OSqv/KfMOjAlyoV1Q9EPyZrOS0WJxBWHOjqzoNyeR+w/88YyW9/Y/4rupwBXoSrFUOMGlb1WOmX+kOoUaxfU/3BLbe7MjNJKDg/M/35nvLA0niXYehUJ4dYQizfv9Z95ynFipEQuIQdMIqj+rb48w4m9lcN3TnO7D+nzwfje/dVznqVn3MqHEG8r1nRoVlBUtc7btAE2p0DAozJnygBPzTsOuJOI3KWcwZKHf8bx6LvEEdhoH8qYHjTlT0hUI8AGs7CXoqeOZHlfVRrhhlHYkqx9tnPy3BF5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=t+zBNO7kPEwVHaJHp+fg9i6llv2Rm7l0ADB/9bROYFM=; b=h7il/XDhTQZw3RHeWK/8i46nU0LgLbFXor5eEOfs5o6kP74T3n4op6y9PboAdaZJV8XcC8F0a0DXI51Spf50pz6y7XAsMxyn7Qz+/mlkNlzshTb9+XJc0GsT7FydG3ibKq6Jxgno1EnyXj4huqLe6o/9MTp+bpLqDQcrYmangmuWGaVxdoDngDLka/aEPmekZTihZzg3GmGn5k9CBtuxOAD/+AagMwJRoBxTytTNEJdEoD2e7jRKWuwPtM+lI2VlcokED+YbwoFa96+SNT4IASBjq/vTSbT+/8XPH1CokJifpS9OqzkxZCy12MrW2wgcSOdGCjVY4SBXpuu9dFnXXQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=amperemail.onmicrosoft.com; dkim=pass header.d=amperemail.onmicrosoft.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amperemail.onmicrosoft.com; s=selector1-amperemail-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=t+zBNO7kPEwVHaJHp+fg9i6llv2Rm7l0ADB/9bROYFM=; b=J0HDsC4Ae83VZ6UZrHS+O3PUdI9OvNkFa94TeWlYZLa34Ydug6lW7/ZhnfwfJc4da6QHxoTvSkgPmAGnI3sWJ8vJr7fADCYhCv0A9/VsKZ1yr1Wq3IsJcUgLpWniNjirh6UyFpaEP/Mj+7vFoKwezPG++f0YeMkEK3Xjtq+QOkM= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amperemail.onmicrosoft.com; Received: from SN6PR01MB4973.prod.exchangelabs.com (2603:10b6:805:c4::13) by DM6PR01MB4460.prod.exchangelabs.com (2603:10b6:5:7a::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5986.18; Thu, 12 Jan 2023 08:40:47 +0000 Received: from SN6PR01MB4973.prod.exchangelabs.com ([fe80::1e67:38ac:ed37:be1c]) by SN6PR01MB4973.prod.exchangelabs.com ([fe80::1e67:38ac:ed37:be1c%3]) with mapi id 15.20.5986.018; Thu, 12 Jan 2023 08:40:46 +0000 Message-ID: Date: Thu, 12 Jan 2023 15:40:36 +0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: Re: [PATCH v3] USB: gadget: Add ID numbers to configfs-gadget driver names Content-Language: en-US To: Heikki Krogerus , Chanh Nguyen Cc: OpenBMC Maillist , Greg Kroah-Hartman , Frank Li , Christophe JAILLET , Dan Vacura , Jakob Koschel , Alan Stern , Vijayavardhan Vennapusa , Rondreis , Andrzej Pietrasiewicz , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Open Source Submission References: <20230111065105.29205-1-chanh@os.amperecomputing.com> From: Chanh Nguyen In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SG3P274CA0019.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:be::31) To SN6PR01MB4973.prod.exchangelabs.com (2603:10b6:805:c4::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR01MB4973:EE_|DM6PR01MB4460:EE_ X-MS-Office365-Filtering-Correlation-Id: f17bc304-efbb-4862-0ce0-08daf478b31e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: IXEjoJtPEue4USKR0YdjeLCP80Nu9uDpkjYhphciauY2wA2FQwg0A63wL6hBSFWZ7Bcp1qN7KmA/sB1zxByS/sBbNwBs8aqytBwHU4ajBlUOZNNjTQsWtPHuHvcV6Sl9QE8cdrilWj7wb8jPY+N5ni1USKLi14j5bxFQ7Uw6DzdJawK1tNRl9OJ1e+dNpDV8g3zAZHq/v9xSM9UUX6Ct6ns/HwDq4SXPj/rnfxtA65OeQzxot7Lqih5fVvtPW2ku/wJoo1mZxVgAfgARC5h1OlV5TPDYgFnUlsyLzrNZ9rihwUHO/WjKHEqJl65Bxcuqx4lZViPIBZ1du0DNjd0FVHw+cmDhWyKsIUH4AV1vTYUoBmpQ57sdpEo4DglvNmu+P934JzAWIDvYSrctyfOGQYcOBDfALv4+Qr7QKVMbeTk8P9l/zrX1gWkf5KwrNa/2dUr1UpK/T0KulRFhNnR4/IFL2ic3NTc7XbWbPAlfLviUkHwsLOO3fpEWh2YwnkRUFPbF7qFvuiMhnEAzp4KQDRGw7HPy0SflTXg5KiE/pFihwAIlhFV8ipVhUhLC8uVa3J4q/5ljR9IZfMC9Za9u4t3rHmo5Co5E8BKZIYN67q+t9GzHQpCfb34eWUfvjt0b44tkXoPNsP+ZifjoGwAv2P0nu7Wfanae8lVRKHJi2QgODQmiY6EHuvdQElmM7Bm3DU4Hx2822+BtulmJnSxZgQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR01MB4973.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(39850400004)(396003)(366004)(136003)(376002)(451199015)(83170400001)(38100700002)(478600001)(31696002)(6486002)(186003)(26005)(6666004)(107886003)(53546011)(6506007)(6512007)(41300700001)(42882007)(66556008)(5660300002)(7416002)(66946007)(66476007)(8676002)(8936002)(54906003)(83380400001)(110136005)(2616005)(316002)(4326008)(31686004)(2906002)(43740500002);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TDBmMHVuYWtlZTZqU1k5dngzbWRNdm90R0NjMElsbytUbU1oWkhhTzRNYnNZ?= =?utf-8?B?TENJd0pkYUo1enkxNHplQWRPZ2N2WVFyVmNhV0RKV2VJRFdOamgxdGNKWWln?= =?utf-8?B?V0VIaXNnczRsOHV2UTdpaC80eEpKTVlha0FTYVVuUXFFeE9HTGpqWTZYcjVh?= =?utf-8?B?bG5XdTdOQkpHYlhZeHNSNmI3K2NKNlpWK0NxUXhyMU5mc0xiUXA2NCtkSEk3?= =?utf-8?B?dUE2RW9PL25MSXBobWhOVFgycVNPQ0cydDVTSVJuNTNubkJpRXpIb3M4ejYz?= =?utf-8?B?R1YvSFdXVUxmU0lDMEF1L21OODNSVHlocVJHWkdCUHA5UnVEcDhvc3JtVU04?= =?utf-8?B?TncrdzBSSVJQeXoyS294em1kdFEyRExhbVQ5N3pkOGdxNW5RWGt6NU1oV2VB?= =?utf-8?B?aVk5dVMwRDREVkpYWEpKeUhRMGZqN0xHdTlhbk5DYzZBUGt2OVJQcm11RkYy?= =?utf-8?B?ZC9GQ0MxbTE3V3VaYVM2Sy9lWXpZVndHMkJPbUtRd0pSSkFJZ1NaVXBjYmti?= =?utf-8?B?SnRrU3haN3Voa2NrNm1BZVpTSW94dlB4RjNuZ3VvTmNKbGtaekdkVWZtaHRJ?= =?utf-8?B?dEJETnN0Uis4dXJOOU9PVDVKaXNiTEtzUmNqVEl5TFFUbXV2Y0QwUmRuUmZu?= =?utf-8?B?MU52VDE2R2t3QnV3bmR2eGUwS1BVVi9aei9Ma1cyd2RsNjNxcFNGMGwwRElI?= =?utf-8?B?QlFiZEQ5aU0vM0F4Tm1NZTgvb2RPWEFDTG9GTS8zdDJaVGE5ME83cHZrdW9M?= =?utf-8?B?QjhxZUQ1Tm9NZk5WZlUxZG85MGYvY1ZCNEpuT0k3UDZqRHEzRkUvU1V5d0k1?= =?utf-8?B?dzRYbnN1d01pcWxSb1JBdnlGK3kyRnBNMTVPekY2TkFSamI5dnFuR3J1dzVC?= =?utf-8?B?aGwrQkJibDJoWFhybHJyVitMT2NudzJuSVR6czRaaVAyUS96Vmc3MFduRFBq?= =?utf-8?B?eDNKYXNhOGlTWGtGbzNvZnhFREp4bGpKM1N5bVd5czg2ZFZzQjhUSGxpS2xM?= =?utf-8?B?WkRqU01RbFpZckpnQnFkMDduUU9LZVc5RnI0SnVZSm9iTWVVU0JyTkpoOTJ1?= =?utf-8?B?K2lOak5TeXhPQ1dISnRCU0ViYXpPc1NOWVJNV1oyeWhZL0szcC8rSVZIUnhy?= =?utf-8?B?RmtzaGpkQnVtRHZLV3p6RWczNFU4N0JseSsvQnZBRWxsSFVhbEthZ01uSUdE?= =?utf-8?B?R2FOZW5HZTdSK1ZkVlBDUkpvejliaTRZRmtzQU5BR09zalV3aENDZXVKQm9o?= =?utf-8?B?UE1PemdKTStRQ2tSa1RkVjMxWHArUFN6YlhOZDNlN1BkNXQweTRxYmVqdGNa?= =?utf-8?B?YVMvVUg4dzZQbUVaVXNSSStDWldud2FTOVZJaW9oU0E3Y2wva05MeDhBMmor?= =?utf-8?B?RFN0ZDk0c0xGcUNZaHhQbG1pU3prTmFhbW5QUEJKRW8vd0ZSc00yZGpaWFVQ?= =?utf-8?B?UXJGTWYvUjFKblpxSVIxOFBhakpXWFZkMWJsWTRMYzNWeTB6SmU1ZG53NERj?= =?utf-8?B?R25nMHZXVS9ucFkrK0wwVXA4Z053dUNTOERmYS95SVRiRjZCSmJUazVRUGp0?= =?utf-8?B?aVNuTDlkMWRKMDFRYVYydFIyMW81bzdDNGdZTlBVajB0dFlrK1p4ZXNrSWN0?= =?utf-8?B?ZlJYSXJhY1BWMlFXUXhDd0VhdlNpL2NiSmtiM2Z1NXpLQ09OZEVwd3lnWWRa?= =?utf-8?B?OTc2QWJDLy9qdVZ0eHdQZnh4TmRndjFjeERyWnZYZFZNZ3ZPVFJ2a05zR004?= =?utf-8?B?Z1dlZzlqUWxSWWVIOGhPb1A4eU1KSmhuVkJkbWZ2U0o2b0VOQjVVVzhhMWJN?= =?utf-8?B?WUFTR0ZOZUsyd3hZNy9FT242ZDVnOEs2K0l3WURSYUoycWFpOElBN1BVY1N1?= =?utf-8?B?TjJVY3ZQczh3WS9iMDdmVVRGYkVPenZGcGFYR2pBSGxwZTlLaGpqOXl3T09a?= =?utf-8?B?dUp6dGFPalp3WDFGbUNhd3hpcHZ1ckN3dWY2R3BVYktkUVRnYjRCc2t1eTBa?= =?utf-8?B?R3pwK3A2azdsamRDNng1UTF4U3huaUZUMzNXRnpXRC9XVE43NzR4QVA3NUsw?= =?utf-8?B?YmRBeXN3a3RwWWxmVktZQkg3eWFuSUZSL1ZOSGdEcmhETC9NSTc0cUFLOS9T?= =?utf-8?B?bkoxNjF4bGhnYkE3TE1VUWFiNFB1dTNPbktTbDJKODdpUmlzWDVDRzM4dVNl?= =?utf-8?Q?VbDKcMdfgnwgLqEUkBab3xg=3D?= X-OriginatorOrg: amperemail.onmicrosoft.com X-MS-Exchange-CrossTenant-Network-Message-Id: f17bc304-efbb-4862-0ce0-08daf478b31e X-MS-Exchange-CrossTenant-AuthSource: SN6PR01MB4973.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2023 08:40:46.7971 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: GI1Q20+C2l8clZNyQqF6rVAcOYpTZQ7xmg+RERkRD8yDSTNA1MqEyFIGE0iGqtpfkK8yGSFKCxJttyWWsQ+emf1yqqomH05pkQaocEhYaRZpzrZ97pEtyQSY5kdM5AEa X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR01MB4460 X-Spam-Status: No, score=-1.4 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,NICE_REPLY_A,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 12/01/2023 14:26, Heikki Krogerus wrote: > On Wed, Jan 11, 2023 at 01:51:05PM +0700, Chanh Nguyen wrote: >> It is unable to use configfs to attach more than one gadget. When >> attaching the second gadget, it always fails and the kernel message >> prints out: >> >> Error: Driver 'configfs-gadget' is already registered, aborting... >> UDC core: g1: driver registration failed: -16 >> >> This commit fixes the problem by using the gadget name as a suffix >> to each configfs_gadget's driver name, thus making the names >> distinct. >> >> Fixes: fc274c1e9973 ("USB: gadget: Add a new bus for gadgets") >> Signed-off-by: Chanh Nguyen > > Tested-by: Heikki Krogerus > > Thanks! > Thanks Heikki! >> --- >> Changes in v3: >> - Use the gadget name as a unique suffix instead [Andrzej] >> - Remove the driver.name allocation by template [Chanh] >> - Update commit message [Chanh] >> >> Changes in v2: >> - Replace scnprintf() by kasprintf() to simplify the code [CJ] >> - Move the clean up code from gadgets_drop() to >> gadget_info_attr_release() [Frank Li] >> - Correct the resource free up in gadges_make() [Alan Stern] >> - Remove the unnecessary variable in gadgets_make() [Chanh] >> - Fixes minor grammar issue in commit message [Chanh] >> --- >> drivers/usb/gadget/configfs.c | 12 ++++++++++-- >> 1 file changed, 10 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/usb/gadget/configfs.c b/drivers/usb/gadget/configfs.c >> index 96121d1c8df4..0853536cbf2e 100644 >> --- a/drivers/usb/gadget/configfs.c >> +++ b/drivers/usb/gadget/configfs.c >> @@ -393,6 +393,7 @@ static void gadget_info_attr_release(struct config_item *item) >> WARN_ON(!list_empty(&gi->string_list)); >> WARN_ON(!list_empty(&gi->available_func)); >> kfree(gi->composite.gadget_driver.function); >> + kfree(gi->composite.gadget_driver.driver.name); >> kfree(gi); >> } >> >> @@ -1572,7 +1573,6 @@ static const struct usb_gadget_driver configfs_driver_template = { >> .max_speed = USB_SPEED_SUPER_PLUS, >> .driver = { >> .owner = THIS_MODULE, >> - .name = "configfs-gadget", >> }, >> .match_existing_only = 1, >> }; >> @@ -1623,13 +1623,21 @@ static struct config_group *gadgets_make( >> >> gi->composite.gadget_driver = configfs_driver_template; >> >> + gi->composite.gadget_driver.driver.name = kasprintf(GFP_KERNEL, >> + "configfs-gadget.%s", name); >> + if (!gi->composite.gadget_driver.driver.name) >> + goto err; >> + >> gi->composite.gadget_driver.function = kstrdup(name, GFP_KERNEL); >> gi->composite.name = gi->composite.gadget_driver.function; >> >> if (!gi->composite.gadget_driver.function) >> - goto err; >> + goto out_free_driver_name; >> >> return &gi->group; >> + >> +out_free_driver_name: >> + kfree(gi->composite.gadget_driver.driver.name); >> err: >> kfree(gi); >> return ERR_PTR(-ENOMEM); >> -- >> 2.17.1 >