From patchwork Mon May 15 12:37:27 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hemant Agrawal X-Patchwork-Id: 24299 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 9ABAA3247; Mon, 15 May 2017 14:38:16 +0200 (CEST) Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0070.outbound.protection.outlook.com [104.47.40.70]) by dpdk.org (Postfix) with ESMTP id 638BC28C3 for ; Mon, 15 May 2017 14:38:12 +0200 (CEST) Received: from DM5PR03CA0018.namprd03.prod.outlook.com (10.175.104.28) by CY1PR0301MB0908.namprd03.prod.outlook.com (10.160.165.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1084.16; Mon, 15 May 2017 12:38:09 +0000 Received: from BY2FFO11FD019.protection.gbl (2a01:111:f400:7c0c::192) by DM5PR03CA0018.outlook.office365.com (2603:10b6:3:118::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1084.16 via Frontend Transport; Mon, 15 May 2017 12:38:09 +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 BY2FFO11FD019.mail.protection.outlook.com (10.1.14.107) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1075.5 via Frontend Transport; Mon, 15 May 2017 12:38:08 +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 v4FCbxNq003970; Mon, 15 May 2017 05:38:07 -0700 From: Hemant Agrawal To: CC: , Date: Mon, 15 May 2017 18:07:27 +0530 Message-ID: <1494851864-26029-5-git-send-email-hemant.agrawal@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1494851864-26029-1-git-send-email-hemant.agrawal@nxp.com> References: <1492607395-5922-1-git-send-email-hemant.agrawal@nxp.com> <1494851864-26029-1-git-send-email-hemant.agrawal@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131393254892968028; (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)(39380400002)(39840400002)(39860400002)(39450400003)(39400400002)(39850400002)(39410400002)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(9170700003)(8656002)(53936002)(77096006)(85426001)(86362001)(5003940100001)(50986999)(76176999)(54906002)(47776003)(8936002)(50226002)(356003)(110136004)(2906002)(8676002)(189998001)(38730400002)(81166006)(4326008)(498600001)(50466002)(2351001)(305945005)(33646002)(106466001)(105606002)(6916009)(2950100002)(6666003)(5660300001)(68736007)(48376002)(104016004)(36756003); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0301MB0908; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; MLV:ovrnspm; A:1; MX:1; PTR:InfoDomainNonexistent; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD019; 1:BV1GKy834nDk0xTgZX+uIImOUK4RpcJBW6fEX7BalGdW31aT8GQXMVKkMrxHpP849zWFWrGoMqxlhKL10I8p3/KLNjwlQlairWfbEudL4K8kZ/T8OSqjOIdPvgxpPu1t3nsHHqG2h1sDoAwnrI/zyrzWF6I0NNBN83eZZAdoxlON1P855k6Kr1u33xjj8yyRjUbUsSkriigiti32MUElPoX4RsyGkVC6I5Xn9qN8qDNk8ZXlT/DgBNTuriSAp9ENzNfeFuZfhRIBakOdhTRbf+30miuwy5Kd8OeBBSXSUX2LcJ6zeStTSui9S0pkiDbmTPDHz91A9kdjJ9L77uzDmT4avTf0JY0WuWXoDhCH5/FRZW4ikSMK44nc6DeVwLm7mYBvmNn8BLrFDoBpyZYEVLueE/T1RgTf2mMfjjwyZDoTJrsnsitls3DVcpj5p+22cJs0wWlXZ2FvSlRHtGOp69F1Y/Ga6fjLbVzKaySsmhOmGqvS7ocT7fKg8BJFnxmUbsyuWHTIYYegXQIUOCtuLIxLLQdGpsjzdVooO251krnqZaI33CCH4KLXJvzLmMDrtjY874B/c97RPTUUK8wgI0s/PPUTR4sRZSuJ/kgwvcMX/EN/xEVi2pTg/rdMQ+7SJd1WCq7MLPPauMu+3S4hAyibPvxhmS6L3tBo0IHQHPS70eVwy+4MO0N8qvqD25ngYBncoOivn8QIfzb1UmKjc08w8WkAtVRGQP8mfhdEQFBF0V7mkA+8qYtYPAtuBrd4Bqr3iU6HxT6RxA1Yuykmng== MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bbd6667c-bea8-4bbb-0d64-08d49b8f3e2b X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131430075)(201703131517081); SRVR:CY1PR0301MB0908; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0908; 3:ZL32+sg3jvzEyx6OFiZ3LvwzBZKfvIXt9h+HxGgdRhXCs47CzJgMRYPk34YN4CC45VxRI9s3KYs4aKJ2NBuDnlSOFVU16eUO0Mgb01hs0VFZW7Lhpt03FZbRIXjli42ft5pb0fcQt51+JVWgXB+mMELxsgWdferz5uVbv7n/NqBLr33nFBdqMsJp2BbeN3oel5gkECSqHuxLR7s5B4/VVWZqLutprLnvLgLfMHJWQ53DMFVmoxiHH5PCU2B/+ibpUd0r9F7NzhOKLCTULbvqFqiUr9sRuhLmc8X71PDsx/Mugz9//HJzYdRhxK2cNv4jZ+JnA8/X7CHd53w9xFAihRQ16RqLGpXwvNRRrpUHzmy5ZrXvEaCFI2ONTNG/rQ4ctX1pv0BccZgHStMUKoBwv5SX5usuxNBEV7j5vUkDNzaNbZFrMTO6SvvXpPuktRVA; 25:fuU92Ad0K3V1MrFdF0897wi0SmHi+r54XOpKhaESwF+4+YwKAU16CE2DdUAATLZ/Z9PMZkkvGzA05pmdaphloQUjY0qK+fNz2vo+Jc1HPfoNaALB9G58YYNP5/pAXfQ+C/T2NAgA9BPXNcOkZ3FizMB6zRP2dMWtUsMWEzvpZ43glsigFcguKPM1FqVIUHw8HLJDGXQ+nsev1P557jRullM+uvq9qnVBi++MXLDpRnz0jVSH+WH9yOXxD/O4vbhBks956GuxgNKmRMZsFCE2Scoiac4ThRg0hj6fGqIOGQXRcXz18cZAaKKtEk1NjmOrtm+msJn9iHV2EJQW0xlEl2YSj3CrzDhg0cJr+lGWcYiK6ApWG1Q74D/0w7kqvCeNkmg5pTcF1LDwopKLJxivDZnegnkKCiE9auIig5lOpPVFLXfYvt6zXgtJoz788oTqoqqLumZ9CSWzd8R+mctlLw== X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0908; 31:9aitnKOqEuUMZ94W0pC9as7jnlP5MdKaBl2XKXMeycrdo6Tbqx3mJFl9PrZUHEJyGubyvfaAEAonBOt38RMgX5guSsc+ntY1U2RGMBwArk35HeSSN5OzM4XZVLNsyDe73WN8Roqc7aDUhE/Muepw+JEEbxAqRz24cGsKb40V3zxgter2NQKFlRUvXcNvAu24cjP6fo/QyAlYcWMdH2njUkoGRGktxyFV7AjDRPktM6MJqKruiR/ujlIMrJBNkg06Yl5JBTrRM9MgEgAETnEQ8g== 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)(13018025)(13024025)(5005006)(8121501046)(13015025)(13017025)(3002001)(93006095)(93001095)(10201501046)(6055026)(6096035)(20161123561025)(20161123565025)(201703131430075)(201703131448075)(201703131433075)(201703161259150)(201703151042153)(20161123556025)(20161123559100)(20161123563025); SRVR:CY1PR0301MB0908; BCL:0; PCL:0; RULEID:(400006); SRVR:CY1PR0301MB0908; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR0301MB0908; 4:MuKKbIw6E+8J84X0YKARKvbl3FBygqBB0c3LIQNU?= Ajc29go+anJKxkReZ1jJphjWp/hmKQYIcdI/6smXcX4iqHcymBTRFxOqWTpNoPn8/FB7TbJi662dFK53Hbu7GctwYnjMII5W6FaMxEOvKJohR6JKWw3TbfXoqucLUfrSK/MnBFpo6PIIj5tlyrPvThgly6+ocqfosZo4ZZOJA58alHOG9hFYB9ORoqjq7E64qc9FVuC1xkpU3IYMbHNrcApzpeVuohrN8kt/1tGnK3WWoDqYUWmWXOGoshmJU/SpE2rFwsA65OkP8sanu878Rxx4aa1zqeNxPmG6RdzL7C7Vw1f/A/v4I00oSJ/YaA9NZ2c+sKcP5htbbxvaCO96ymSMbAc8L1uIGjjqOdObUcu6p8GiISf0Q5678UGzcQsC+iZrMULMgVGT6zGS1N/Pt8qfuB5QhOfC//yfoPTlxTsazRqZjoUuzQXVnylSYdfmkgTe/9WzPTyjLTB/nq5I43+Kew3RNn1WXFlMPft5ckN3k4VkfkGiLimETXJ8LrI1OkYHDNr8+gQGS+A7fHJ8twQqzeTZgZr5CUyBhNqgGhPHCcmHVCR467SlZNtDf6Hu85iaDFsb3cgyoE8qivxMUDVoPxSz2vQ61cp3q0pKkP6Li9yjJSmetu0jQaaKWgmhBnpWDSUaIhiqQ6troGOvHSnXMhZP6sM0bnPJp+GeUxX3/VKGxIPq/ytjIa8rYF7lR9mZrhVMG8KJbqF+lSrC2ulH/D/1ZU9NenScYexzR3DJob19qkRYUQeaYnqSlf3B+ONYaiTyuekseprICjNbBULtmx5Rnyx8RAQQWDbj/QYIgq8vrAVCCok6IrxgmsWDm/DgNsH2n0/ABGcsFODzEviwsSVFlmU3vSNIqGZE/xsaaiwCYMGNjCO3HI6Vs7f1acW9pBSU4Ht5zVALfVmoLMjc59l7ALM6XxJf1AQzpnn1JA== X-Forefront-PRVS: 0308EE423E X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR0301MB0908; 23:Jqrq++7Ga1Uczczru2Dahe+xF1eJpnqIRMEQNzs?= yE6PuhJTez2vCyI0x1o7dS/HNUmXI0iAuGdq8dNtV3wgJSEXUPPYpUgCxeB+t/q7L4Mf9dR4G++xoEltqvngIIz5PAsYsRzACSdvulOCTFyeHSPdeX3HQTWXCtR5PxL1hrrNavkeyA/Nk0tS8bOJaZf1Z/Ck975W96hIX2lU5eYfTnwdIou/9tsL/Y7TI8Fj3BlmBw142+o+Y8UwY8SG3bFGMRg2zbeIIw1x5DXZ4z0PNj6tR65l9CZqUeSP6tZyhL8Yg3Y2ztnRsEGsRNP3zl153vSMzi4EUdgOFb10PlMsghIp/Idu0SeVmxCc8cdDN17gniYQSa6v0GYvrypr6rytoY9JbNHgrwHanCzweqcep44hKIlqiA1OXhTgxP3gRVRYbA+2oggjCMtMrDzttrd12z/YnKauZ5BoK4eusShxZM2xzVBUt4IxEaRjmOOiZCc2PqMUR6I48pwMbZ3ic8GY6G2gBenpOBontLV88BWTvicG2uvcNMIEps1C4h3Na6MW5yZuLzfLN/jG5pkgHDwC1YCh17cne/SKqm/pzTeDO7iKsdKBLCiiAtLJltHEUYka9tNWqt0V7KUM5pS+08n7IoU6Qvu+jOimvwFiUPli7a1RkItjJeq3qJk2toqOm9ZDgOEeXgANwPQV8rwn6JAc15pAlZKjIYKn4HCmM8fwyTj4ZAblRGOh7nwHtX0WXbktMvaYqnxo5iCM7yUnGfLaeOvV2mnXGeK9a5wamHvBlof1oeJOtw6dJRq87CZt83tJ659pRtOCZLEOYpLz8SObhyqGJCmXpayBykQ1h5uvlLQKytf/xZtHTwMiig/8guUK7odrrRqKhoER2cu6HWEToTcc3YXaUpHyk0oaRr3Y+yz6kWVeVTFWDuA8Ssf6YUywYFngF2VJT/88+008+r4WnvRkdjETeGk/+kEhxF6P1hgBJpE/CboIdfRVENsXsA8CYO7t37JgCqWNq8P/7Tv3xmFqHkpXsWf/hNrpcGTuP8a5IbFYg7K3o+jnJ2q8iHeOWp+eVfZpEajntUIZ5EWRytEaEnUviUe+w4JPqIRiC06XKg9J4c5kBEXmJdFBjIUYmqiryupCw2V/OhV00l6Es0FAZQpmXhjFjLd99w0SkmxdiDpzws9FJTKJXF+XLydzvX/9iGpDFD9KfL8HJ2hsRKEpryOQocBIbyIylYsIulpg1YZr8sib0Hs1lUZfwFYnbZIOiJFmdnpA3uW34lyOv X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0908; 6:l+9C1QDOl2vzZly12yK5QwvfagaAZcNJQv6bRpiY0ihlpnu50qo7rQ7U5AcMK0Ege8TPbHJjxaYyjxqu7DMdxbVaWy5Fo9bDhL0/XIMobSIGapI8U7j3oIQMTsqy5Ddd2NYBr7HRpJCuU7Cro04Q3B/J5eXUXWM+1sbL77uc3AigBUnCaDfGNSDKRAnUVPbj1MBHlCAF6+2LNnLKSKcYzaBORIhOCahBEzmIKZTD3KIhBciTpvy0HnMbk6iQ0NwQQxmcP2b01WrvrGXYBsWNQbkySUE/eEZ6xlY/xegaAJCb0U6wVaf4gO8KM8sHhHW0adhCvDHCm76nGYMe+24MF/Y1gqmtmiXxfNaJXANRrR3O14xUYquHsToH9i0m1MKsYmCu9yhrhFe82gIpI6EprA18WB/GRAyGHRYgZYSBb065oryqp9FCticpSmWBWQmSCBIWlsEoC/jHThNi7WTKf+vWe+qx/g8ZfwCl3UxowpgDaywbXu14nFeL709c12QRPYqvK2wRPOwbGvYqpTqe6g==; 5:ZVX02yuRpzy7pBSiHX9PQQdBo3aBZ00pwQ4OQLe8yefH+2hZozrk5iLvK9iWUIEfeE871kEnl9qILHMvhidch+XN9n3TXbxwBsxSxYWRHUAEYxU7KvK2cUYCJDIp8p4K9PSFmHOppXJIhr1cEO+/dA2foVkbD4esd0OXUb12h3Zq8qKqUlt7Eo2KzUYxVojC; 24:1OylTTEz4Gl6fNwQ0LnRNqBNRtJKnxhOe+zIAL1fBWG/+e+kZ3CsfQ6IbDbEbCUnpyqiLzXqYx8rMTaCajOxj3cqKHFIFOfBT5GmdiCbyRI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0908; 7:AneXO7FR+tmawrD/JiFM/9qbpX60SVjdCI3ca0KFdNS566+e5p9FGkUzVqVOsqKrzDEJ6TiwDv0Gr54q2HtlZ5wuu7mxnsjj1jWQVIhdtc08OEgnOt/94WkejI7LhfPy74/gKhatZw85s3Z0og92EbXbvcNxEcdkl1SGSrMsFYmI/zOEbF3OHO0v9vVPc4+4uLhwRd0CpGl9lKl4KbLKMJV3lOIRUsHWBIJllvLKZ4Cxb/BYGzIDJgb1ZZbai/htHGWjEDcsk5qVwGtXazArJKVC6obQE7CT7nEVEscgCFXOzWlSmBtLJq5DUVPmsmuz/8TfcARwSIFoeCAGKzeByw== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 May 2017 12:38:08.9848 (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: CY1PR0301MB0908 Subject: [dpdk-dev] [PATCH v2 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;