From patchwork Mon May 22 09:39:13 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hemant Agrawal X-Patchwork-Id: 24429 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 77BBE37A6; Mon, 22 May 2017 11:40:09 +0200 (CEST) Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0073.outbound.protection.outlook.com [104.47.38.73]) by dpdk.org (Postfix) with ESMTP id 785A32B88 for ; Mon, 22 May 2017 11:39:57 +0200 (CEST) Received: from BN6PR03CA0057.namprd03.prod.outlook.com (10.173.137.19) by BLUPR03MB167.namprd03.prod.outlook.com (10.255.212.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1101.14; Mon, 22 May 2017 09:39:56 +0000 Received: from BN1BFFO11FD037.protection.gbl (2a01:111:f400:7c10::1:128) by BN6PR03CA0057.outlook.office365.com (2603:10b6:404:4c::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1101.14 via Frontend Transport; Mon, 22 May 2017 09:39:56 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BN1BFFO11FD037.mail.protection.outlook.com (10.58.144.100) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1075.5 via Frontend Transport; Mon, 22 May 2017 09:39:56 +0000 Received: from bf-netperf1.ap.freescale.net (bf-netperf1.ap.freescale.net [10.232.134.28]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v4M9dk3x031538; Mon, 22 May 2017 02:39:54 -0700 From: Hemant Agrawal To: CC: , Date: Mon, 22 May 2017 15:09:13 +0530 Message-ID: <1495445969-29199-5-git-send-email-hemant.agrawal@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1495445969-29199-1-git-send-email-hemant.agrawal@nxp.com> References: <1494851864-26029-1-git-send-email-hemant.agrawal@nxp.com> <1495445969-29199-1-git-send-email-hemant.agrawal@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131399195971762558; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(336005)(39450400003)(39840400002)(39410400002)(39400400002)(39860400002)(39380400002)(39850400002)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(9170700003)(4326008)(48376002)(33646002)(110136004)(5003940100001)(38730400002)(50466002)(54906002)(50986999)(106466001)(305945005)(2351001)(81166006)(8936002)(8676002)(6666003)(85426001)(189998001)(50226002)(47776003)(6916009)(53936002)(8656002)(2950100002)(86362001)(5660300001)(105606002)(76176999)(498600001)(356003)(36756003)(2906002)(104016004)(77096006); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR03MB167; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; MLV:ovrnspm; A:1; MX:1; PTR:InfoDomainNonexistent; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD037; 1:CDmjfazFKcsSOOjAYHzFtFQLF/taAot524ApEnVgsSn881BMvLOTv0l/etwpmFJKVDThZ4hedtucvKFlWgd57VogtWFe2KOIjp3nK0S9nANWI5dSZTyq7xT2f0pYRuY9ufA9KkJuBCu9d/JZu9/gdF2cDPEyg9fIwxhnvud1ux3cRhB2vqcGsnqMxVcpGIE4u3P4PrvmbnkWERw3joM1Zyu/aUjpq3U9Bp1MWqqs7p2WO3Ol6+dYi6Vyiw7kuLpdH6dsIPNuUNJqHy2qOfHtY/FZv8a1HvTBd5Oh9+R/m6JyhVJsLda7Ame6AIWzbVn9ILutesFHof3G4VrftpdguhudWEa7zyVdEXlK3K4n4xUNyKG6wg6WmDmEdrqLVr7+VkTZ0T8ck+PM4glGJ20Qzw57qS134+cKVqcaOzd3C8+dm+Kkzu77zsNZch4YL7Ykok9+561YKkWmDJjBxLWhtejkY1orSaa3RxOv/+24q1rDqPMW8n/ZxOMreRGslvJWlG+5EtbWE08rOSSoaWIHIzB45xJP2YlZ3A/FgoSRjtj76PCsFtegU1gQFX9R2Yw0Usnlqv3TaaLZWKboOCQUYJt8mSrGxHqgeVLFEdW27tSCLzo/1lKhX5FWrH9eB/Kuuh42EF3FcFqhmq3yrgdV9g9n3l0LmpvsAGvz6qQ2A7KQWyGBV3gZ2kS5QkPi9vGIPfozdUevd7KSPgBr8lONWZTPBkId2VCfBSKWmMyPnlGiEEqHMr+jes0yLmTKqdj/jvzvgeye6wbzLXLnN1GGgA== MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BLUPR03MB167: X-MS-Office365-Filtering-Correlation-Id: c4586420-c664-455c-d81e-08d4a0f6821f X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131430075)(201703131517081); SRVR:BLUPR03MB167; X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB167; 3:72VjI6O3wtM4Djnxzx1Sn3CFYR8nYpfH3ZRgtlde/itj3uH4Ev3XtyRhPsSHIuZhQnHCpJnnHV3Q34lRlq0PFs06N1chuw1zaKATNz8ntcacvjwVB06wygFbfF++yXhiI93C7r5am5JlxjJf4n3AIGFewMHVFpMwcnw07ASuIEmlLQXv25Wn8A3XK1/Z6N1iq0nXzeCfDlPqp2Wb/MXbX3YQ4l3KpTMDPznf630cMhnFfcfJiUOVBdkyTunCAEQQLW2oHTkgTHd9A+CeTSQJEHLOU7HMoomdSf8tqsUtZdRtz7Mq8YwC2uLEhnnimoRz5/L+zKTbHKBKFhmN9+qgwEwVOVjDiM8pY9SITbXxPVIUB2iLWMjXTuYz3zHXRZW7Lm1+Nj63xO3px27jCNxbb9OT08jMsJpo0Duk7sMnrjq5O9SlNL29S25v8doXLXrP; 25:A+LYDXpRFSpwnkaqvxdOzkgk9rYrK0HpMXlBE3u+HCHEB31+Q6976BBwgqt234NTyqjxUoE+SoUyrx4u2J+aIFsrYnjQEBS4itDresHFjQzy1hoO/unJIEgRJSxTYKHMOaQLBkaimDiniZ9lDmDKd5Ct7xXAmt3hw757g3Hqkihv1Z0Sp/KN7XdSKNckqm4Hj5WjxOZUdqU7hV0ckvY+J32hYiN2ebDlkF7qrUdg/1KikoA4YEaHXdxsJOvc9yd+19d60w2+46fIqzQKVn18mcW2SEGkEkG9ep9t0J867o7VBuMD9IX0Z+Zv0IU1dEjJuGgxTsWwar1uz8GrGonsWbodYncATKUG8Zzt1yHxEdECTyluXsmJexMYFB8NtAcNt2PKpGnUKeByo7Gv3xbRiRgchvedkyw1CBju5c652/bLEkhpuUU+jzJ0jtlGPPOWXfY6tcqhqFkOEHw83BYpo5QnN8leNmfWef7MMzfqvH0= X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB167; 31:cR6vpU5ZJGhhKD72LgaVrz+UDkqsyHe1BaQmLZNdEaFMgHmHvbZ5MihyvOHQgDPr7v2nER39TE/t3dyqbYX+t6hocmi9PuyKxJg3rhSvUzxC4GZboqqevnV/2skSQjCcbB/ALKRaCYvjWTZVcBJu45hdqrz1a+TpCMLIRY+R0BSxo84fSVSbi8lCerTMyX2fn7hFccgjUtsqG4Ra3m+J1pkRUo+xfMNGKKe4scKkL3X+xg/CZkOYx3Hlv5HgcmBTLknAJ2obApRQel8utMmHxQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095135)(601004)(2401047)(13023025)(5005006)(13018025)(13015025)(8121501046)(13024025)(13017025)(10201501046)(93006095)(93001095)(3002001)(6055026)(6096035)(20161123561025)(20161123559100)(20161123556025)(20161123565025)(20161123563025)(201703131430075)(201703131433075)(201703131448075)(201703161259150)(201703151042153); SRVR:BLUPR03MB167; BCL:0; PCL:0; RULEID:(400006); SRVR:BLUPR03MB167; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR03MB167; 4:7xxT+jNYeZwTo/R3a0kPZCofku2K8hfNlbCdJpgVwvX?= p11Rd2e6EFbaU1mJrmmNv0nhg1vtbPJwTzCE5S34IkWtjms0NopEMiE9a7pkVLgxArwOp21egg9bO5GQEmTObGLlhA+qOqxdnsPdgPaQqZm+PQLOXuEKlvX5MFiNOupfBf7HUEA/rQuNi2++Rg6CC4P3IcwvjyIstYXmgQXXw31uxNg3j2pzM3Cu0L5J3Z5V/n+Px9wXmDtO9dqNZQsXRpXBeo4tMJGLByUZhmL7CDYsY6YOfpR2OdumMTFX0cllsudBiYwA00Am87qLiGSXwuL2CUiQFLYpMpJ/kHWKhZYWb5AtErFWAqmyEBjHWIWrv2EAEhLg9EPJn+NxAnmn8UiXR+6onTysWyiuGawzh4XPiYEiNqQ9lVRspYZXD65hPT90H82TCXorjeZZkcBi7qZ9ykcu+2Eq1JIJINeEhJcSegesGJsxTEuKxj/lv9LSUHWEN7EXFe1jb0OIc2mifi8RaDw0XI94yXlPq8FE+u0d2FeaWTnvyALuGuXkqugHugQSsXXcGI+9AI0ykL+y2XrEoJgYvVhiwlViAHXdmTW1QKZ4YWhrEC8DpUZC+SWmIBOfRTl+hnNUafK7EHO+0HrcvHxLaRLM/2I80MVDr0mUnwF4+pHHtZWuyX9sUaYGE3tUh7k3jFqFT7NsDxVHR7Nz/1v9w3bC81CK//GbOzGhTqJHqOQf9GDuAbY5wqFjUGUN+31L01WDu+YMM96FQ7FiWprRBr4ecKLlEOK579KYN17B9gyITV1gglcRvLRf15KnDaB3Ad+8XDqFgFjAGEjGferC+PRYxFwltSACieb1hfs29+6APyEjty+qR3joHaaRs32Ky+rZeUHwrNGQCXo4d9y8bmgW59lTz3NLMp+J/aJyZJZ6UxLUyuLyCymm871JBNFdk714EHhe6ELH27kCrfSOY6hy01Umd39SPJg== X-Forefront-PRVS: 03152A99FF X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR03MB167; 23:8rJBxlep4s+ijcF55D2Ah1ailGADmDbYh9LfrZAjPo?= qBH/ArBb9YzPxl3KZfjdBRc19g0nvNmcPShEdDk+LlaGA1IdzbprQYeRC3ZX+jFwpaNmytkXbN7sWXwq5NROAKWBmoH6TTEIbjwU4uTM2WvoueSQ1KL6OxsRZbi1jWb9dRbGG7FfkojG5Etch3oCjxQmB0Ajxt2O3QI1lhsuO2HuA4bLEoE+HRAHvtR0eR39pq3vWaZ7eyVdbzayhXAk05WRfyTreDDT/9s8sXQJsjcIQoMfV9/8RGKkaMvnk7p2xGcT+obGY4wOCvhjuwL7hjTURfMsX2x74PcqiYcYuE6Hj8HhN5vWqV4oBH6tlyoIgB5S+33avfLzrBzB5UCfnKjt+lgQqsxrgLkWsCTYVznpcLUD9jKTVUkp2rdgzNfqcRt56nd2pozOcD6+FWTcl3SI2CCDksKMdlVDqR/bHxqiEUCAiEeIjEuzmerDa/MvJpa4gmga4dq+jRv8s+qioyetBylgGZLbM/JKr2p14/ds6NqsjyQHjVx42fe0hAtQxgfAj1o8YuNMjnZiUBjlvCoJ6iagpJt34/+XUeNxvYQi+ef1B3sJ+v30/+ytw9QGHgjFqrq6pMcve/3b9mi4MY0bLlmD4FGCz6RmSGMaeURjE+WR33TUbCxvCcB4v1DhXSqlg+epLhBNZdfslINJfU2ZyceCIu/SINuVO5SD49vvhytysweqdDkifTN9cEJyoyf0sia2I7yU8b7jJKNR7QajZdPlTRK7PoCNBt9mk6OOy4nm7NUoDlKK+oarDvrvls/d6hQPnOId7aUxpyOoJywj0mkQA1sCAyfSR41LimDT5946OjWXLSenfEj+8myjsZ7r770wnTBQGvfuP50iOyK5xhRsZ5RkNcJMuQk/eu9TiP12tN/eML7ha+kNRXHLS6sVVcmO9PgUpeSFzaVSbXo8Wke4ZFOqT09wK3uhXKtHRywdMK2b0v7jLjVVOwCICFWZwfFebSsB+vYNHW7FmRA2pv6hjQxy2jR+dk8yj73d/2jxhONdH16LHhY/KbrzwHL7Myd8FJ1Wzf7InrkInXZZBKcloVogcs4d+CEl0LytgGHvy1Q/rh6u/79B+vAWAEnB6H/rh0KqyzgONKx63jxG1xXLOaI2wMENq9bYSijpbP6s6O2ooVZEZ5mdUHlOlEoo4n4q1iUvySKtg+J8Fdyrp12TNcJHlKbrvrmth7B8kI1hQert05O3NkiIRIbzQ= X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB167; 6:tq+Ng/bG8BlRkYlAwX+8dEV3IZPCgfakRzLEIFHP0BMeTgK35pyhEobZlzR3Ylpb0KA42dK78oBVXjzkraNdtOsRimyXE++g0wg0rLftFHldzdUgNHOe5Qvu6MGfLzYrQp5xvdwvftr4bHawEyRoph9nYwJfpv1y3riX8A77BUX1TJtcWT7J9lJBzCdBhWwhlvoj8owgCxvNlBIJHPNERj2UnQYs0QmSLUKFgTzc387WZxLcwVNfgtW5yNBxLov6LuTdqeCWNmOHA+bFA4H4zDv28ZOlsMrhPVtsqVAf1PbJBYakz0l0JW/VF3I/uevsqWKXa3FEBOe1LAE5yk2Vq0CrCBNSSkzzWYdoP9Cp3tJNZilGq6GLxf0wQZiKIglLDYNLO60sNdnjUkLdgKgFKQ1b9Ja32UtFgu3hGmFApMBF8gBtJWdiI573an0poZa/lN5Y7WXUFiBUjdvnFP4+Kd+23SDLXYcPdZQzWGkPyIjaJ719QAQeUYo08RI5FP4hBiQvm2axt4lhRfeQTzSZ0g==; 5:kBcWnLjTeXblnkq8P6Lst7iwJragx+NVBABh9M2AmFzmpkxxoXYaUVgLTqktWu8GRj+NBbNBedWAcMrko80o5qosKDfXoJG0amNl2uTohNKsPXTmZzhZARIXbv5QJ8027H2fTMZyKFH2q2Fcf0K80MF3QE1sSi2MPMWNq4qsVg609Is3V3nGN6BMqMnAEoFw; 24:MYMOAuKl5zMJbOhErRTu2boTQT861XJFnI6f9VGVmKHuBMXuWfDJUUayvfPjlfL95ZLAyTS9gVsL+DrcfNycRHJGXIMvXRbAL2gH6kWQbzU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB167; 7:WlSrunuLeM+YIaDDb2VXFeZMb8CfRkOI7PNew77m92IZNJqR7lnV+No35pgD3+KCWAL03caP6Vw9bEW0SAiuVDD66s1zBahd/bxOMLyI3xG9wLCLbHCtkWDTgSsHRiwrmlPm/ba73rzMTQ64NooqAh5oDTHDU/ea131Uk9ofm3+6D67LCpTrQN5CwOo/CTHs3AmMLqHuEx/8Z5J6rsoyYhX+ieYYlAfvDehS7n+WroNEAsVNIPvv2JphkE7bh5HGB8LS0wa11rnkOuvxwrjVNWcZeIJHC4tnCNKfJRphMsU+7daWq0NhqDvADqyx1bpwvcWl4Dq7OdYf9FXJxP14lw== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 May 2017 09:39:56.9890 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR03MB167 Subject: [dpdk-dev] [PATCH v3 04/20] net/dpaa2: improve the error handling in dev init X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Signed-off-by: Hemant Agrawal --- drivers/net/dpaa2/dpaa2_ethdev.c | 69 +++++++++++++++++++++++----------------- 1 file changed, 39 insertions(+), 30 deletions(-) diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c index 007eda7..698fb84 100644 --- a/drivers/net/dpaa2/dpaa2_ethdev.c +++ b/drivers/net/dpaa2/dpaa2_ethdev.c @@ -54,6 +54,7 @@ #include "dpaa2_ethdev.h" static struct rte_dpaa2_driver rte_dpaa2_pmd; +static int dpaa2_dev_uninit(struct rte_eth_dev *eth_dev); /** * Atomically reads the link status information from global @@ -772,7 +773,7 @@ void dpaa2_dev_stats_reset(struct rte_eth_dev *dev) hw_id = dpaa2_dev->object_id; - dpni_dev = (struct fsl_mc_io *)malloc(sizeof(struct fsl_mc_io)); + dpni_dev = rte_malloc(NULL, sizeof(struct fsl_mc_io), 0); if (!dpni_dev) { PMD_INIT_LOG(ERR, "malloc failed for dpni device\n"); return -1; @@ -781,24 +782,28 @@ void dpaa2_dev_stats_reset(struct rte_eth_dev *dev) dpni_dev->regs = rte_mcp_ptr_list[0]; ret = dpni_open(dpni_dev, CMD_PRI_LOW, hw_id, &priv->token); if (ret) { - PMD_INIT_LOG(ERR, "Failure in opening dpni@%d device with" - " error code %d\n", hw_id, ret); + PMD_INIT_LOG(ERR, + "Failure in opening dpni@%d with err code %d\n", + hw_id, ret); + rte_free(dpni_dev); return -1; } /* Clean the device first */ ret = dpni_reset(dpni_dev, CMD_PRI_LOW, priv->token); if (ret) { - PMD_INIT_LOG(ERR, "Failure cleaning dpni@%d device with" - " error code %d\n", hw_id, ret); - return -1; + PMD_INIT_LOG(ERR, + "Failure cleaning dpni@%d with err code %d\n", + hw_id, ret); + goto init_err; } ret = dpni_get_attributes(dpni_dev, CMD_PRI_LOW, priv->token, &attr); if (ret) { - PMD_INIT_LOG(ERR, "Failure in getting dpni@%d attribute, " - " error code %d\n", hw_id, ret); - return -1; + PMD_INIT_LOG(ERR, + "Failure in get dpni@%d attribute, err code %d\n", + hw_id, ret); + goto init_err; } priv->num_tc = attr.num_tcs; @@ -831,29 +836,29 @@ void dpaa2_dev_stats_reset(struct rte_eth_dev *dev) ret = dpaa2_alloc_rx_tx_queues(eth_dev); if (ret) { PMD_INIT_LOG(ERR, "dpaa2_alloc_rx_tx_queuesFailed\n"); - return -ret; + goto init_err; } /* Allocate memory for storing MAC addresses */ eth_dev->data->mac_addrs = rte_zmalloc("dpni", ETHER_ADDR_LEN * attr.mac_filter_entries, 0); if (eth_dev->data->mac_addrs == NULL) { - PMD_INIT_LOG(ERR, "Failed to allocate %d bytes needed to " - "store MAC addresses", - ETHER_ADDR_LEN * attr.mac_filter_entries); - return -ENOMEM; + PMD_INIT_LOG(ERR, + "Failed to allocate %d bytes needed to store MAC addresses", + ETHER_ADDR_LEN * attr.mac_filter_entries); + ret = -ENOMEM; + goto init_err; } ret = dpni_get_primary_mac_addr(dpni_dev, CMD_PRI_LOW, priv->token, (uint8_t *)(eth_dev->data->mac_addrs[0].addr_bytes)); if (ret) { - PMD_INIT_LOG(ERR, "DPNI get mac address failed:" - " Error Code = %d\n", ret); - return -ret; + PMD_INIT_LOG(ERR, "DPNI get mac address failed:Err Code = %d\n", + ret); + goto init_err; } - /* ... tx buffer layout ... */ memset(&layout, 0, sizeof(struct dpni_buffer_layout)); layout.options = DPNI_BUF_LAYOUT_OPT_FRAME_STATUS; @@ -861,9 +866,9 @@ void dpaa2_dev_stats_reset(struct rte_eth_dev *dev) ret = dpni_set_buffer_layout(dpni_dev, CMD_PRI_LOW, priv->token, DPNI_QUEUE_TX, &layout); if (ret) { - PMD_INIT_LOG(ERR, "Error (%d) in setting tx buffer" - " layout", ret); - return -1; + PMD_INIT_LOG(ERR, "Error (%d) in setting tx buffer layout", + ret); + goto init_err; } /* ... tx-conf and error buffer layout ... */ @@ -873,9 +878,9 @@ void dpaa2_dev_stats_reset(struct rte_eth_dev *dev) ret = dpni_set_buffer_layout(dpni_dev, CMD_PRI_LOW, priv->token, DPNI_QUEUE_TX_CONFIRM, &layout); if (ret) { - PMD_INIT_LOG(ERR, "Error (%d) in setting tx-conf buffer" - " layout", ret); - return -1; + PMD_INIT_LOG(ERR, "Error (%d) in setting tx-conf buffer layout", + ret); + goto init_err; } eth_dev->dev_ops = &dpaa2_ethdev_ops; @@ -886,6 +891,9 @@ void dpaa2_dev_stats_reset(struct rte_eth_dev *dev) rte_fslmc_vfio_dmamap(); return 0; +init_err: + dpaa2_dev_uninit(eth_dev); + return ret; } static int @@ -920,22 +928,23 @@ void dpaa2_dev_stats_reset(struct rte_eth_dev *dev) priv->rx_vq[0] = NULL; } - /* Allocate memory for storing MAC addresses */ + /* free memory for storing MAC addresses */ if (eth_dev->data->mac_addrs) { rte_free(eth_dev->data->mac_addrs); eth_dev->data->mac_addrs = NULL; } - /*Close the device at underlying layer*/ + /* Close the device at underlying layer*/ ret = dpni_close(dpni, CMD_PRI_LOW, priv->token); if (ret) { - PMD_INIT_LOG(ERR, "Failure closing dpni device with" - " error code %d\n", ret); + PMD_INIT_LOG(ERR, + "Failure closing dpni device with err code %d\n", + ret); } - /*Free the allocated memory for ethernet private data and dpni*/ + /* Free the allocated memory for ethernet private data and dpni*/ priv->hw = NULL; - free(dpni); + rte_free(dpni); eth_dev->dev_ops = NULL; eth_dev->rx_pkt_burst = NULL;