From patchwork Wed Apr 19 13:09:53 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hemant Agrawal X-Patchwork-Id: 23736 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 4981E58FA; Wed, 19 Apr 2017 15:10:19 +0200 (CEST) Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on0040.outbound.protection.outlook.com [104.47.42.40]) by dpdk.org (Postfix) with ESMTP id 988335688 for ; Wed, 19 Apr 2017 15:10:12 +0200 (CEST) Received: from CY1PR03CA0016.namprd03.prod.outlook.com (10.174.128.26) by BL2PR03MB242.namprd03.prod.outlook.com (10.255.231.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1034.10; Wed, 19 Apr 2017 13:10:09 +0000 Received: from BN1BFFO11FD021.protection.gbl (2a01:111:f400:7c10::1:135) by CY1PR03CA0016.outlook.office365.com (2603:10b6:600::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1034.10 via Frontend Transport; Wed, 19 Apr 2017 13:10: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 BN1BFFO11FD021.mail.protection.outlook.com (10.58.144.84) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1019.14 via Frontend Transport; Wed, 19 Apr 2017 13:10:09 +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 v3JDA43u011315; Wed, 19 Apr 2017 06:10:07 -0700 From: Hemant Agrawal To: CC: , Date: Wed, 19 Apr 2017 18:39:53 +0530 Message-ID: <1492607395-5922-2-git-send-email-hemant.agrawal@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1492607395-5922-1-git-send-email-hemant.agrawal@nxp.com> References: <1492607395-5922-1-git-send-email-hemant.agrawal@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131370810094326005; (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)(39400400002)(39840400002)(39410400002)(39380400002)(39860400002)(39850400002)(39450400003)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(9170700003)(77096006)(105606002)(54906002)(189998001)(8656002)(48376002)(6916009)(85426001)(50466002)(5003940100001)(53936002)(86362001)(8676002)(104016004)(305945005)(33646002)(36756003)(2950100002)(50986999)(2906002)(6666003)(76176999)(47776003)(5660300001)(106466001)(2351001)(50226002)(38730400002)(8936002)(110136004)(81166006)(4326008)(356003); DIR:OUT; SFP:1101; SCL:1; SRVR:BL2PR03MB242; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; MLV:ovrnspm; A:1; MX:1; PTR:InfoDomainNonexistent; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD021; 1:35OlNVIbtnb/0oEoMKlTM171McXmZlnK+yt+vAG/RI91zmAozRJiRdXRqatui0nsupuFLk4pD303Ni7w5jRBk5oCF4spcaxdG+3F4lw9OxVblaHFn7tQlgv6sHoaQhz2oeLYuzAv5+KpNH0VhI0cOKMHd6b5u/LpLaohEjo/cFlHFBdPDA2vtntCSlMuF9e2bc/91ANfXi5RP14SimbkJfBd4KpuhnrlSAlRz3EnJmS2i5EOmymLOGQvq+Alie8r22/ogTDfzi0HRv8/FLh7HbFzdq782G7cSRNe99p9jgneKtqxuFKaIy3QlrnBfKDkVHKGvDT6Et7GWFvGL2eW1/GpZn38SBZVd3V2RGt2F5F6oNIzA9VJBjTnJ4DmWY6CZZPflzp2/6HWh6soVuDoh6SdOMmTvr2rAHXoXS7sxD/+LFvd7fsCk0i914hdOez7kfviZRw8q52LsdQ5s6lf3F0Vu8i4g6OUNpx8VBeB6NzsXNaPyrgT5RXeKRsQIhkXK5hOJG/6M2CTDKatybkDFCIjVL+/k9jFbhhv25BewiwA32NqSxPZ4mv8bMPgBBVq4ZvVq3IKNRDBW/K6Ek8HFkmSKJUIcgBNZaK4WuS7eMzjh8IQKPGHhu7liiecb3sMeaff+8tOdV6A9IYqAEo8RCn35XoUUAnmyy9WbAkdRozkTnhLrFUVpl+cSJGL1G2gAHbn+CE2zf5LO9C4UT+HkJco7e50+bh8BtmWd+1vYF0BNNQmRTEkgXtYOs0ISZBs135ycgZ/HoLZ1MLMKvj1FA== MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 406f2525-1fbc-4d8d-af94-08d4872567fb X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131430075)(201703131517081); SRVR:BL2PR03MB242; X-Microsoft-Exchange-Diagnostics: 1; BL2PR03MB242; 3:ieTEcpgW/q2F73Ua8znWhf3DvWhGhPGNqQ9VLbyWyC4RBns8X9qIGrCj2doBMuUdysKwNmvODV/ZTwTVy4+3EOJC0kDFDsmg5PEZsSUO1C8wADsE/5LzqJPztEm/YkM8Wa9SJDUw1g4DHRJxYIbkzxLeGikpptfrtXaNUMuxcQ+4tFuxliVwOct2r7jRQKWAWvOJsNSTi5wS5KFCKVbjL2n0Ok5fHkC1Z1JfkasJuZVmo2IR/EdY2uUtelOXBO8CpzvijCJH/owLwvPk2eFaf6pvLjSckecCFYfcyYLzFK7+O9DjwbpAmXhmRFrPqSqno/HoRXrFyK0zpNnF+B/nx0+Y5qQB6wxDVZrRu+FgXYeVZiS0WkUk81Q6fI72n7i4SIZpxD24eYvf9NvLfxSjOx+HOS2EeoNMNN0sT6umw5at36AeQrGUoFEpy3RfcQaK; 25:l64k/IxMaj+9vjexB9HV/4abjsfcjTpeZftIWp3iXpR9AoCjYkjRc2aK0Pk5p14SyHkgdGYNpWbs2HUt8vqSA/dfeNtBKMBebaag3NvMSQ6f5a8Ui+elbvHHTFCIrHY5YI+naYuPsSK3mwvbdEUYw78t5AaL8x89lUftzAilWX/EzmLTY/PMXKDTGp54D19GBguQrz1rPpQxMYFMscPDwDD/7bYcQyqqBsSDVIvchRYuWkIpVn9MJETZgvCn0d6AhMAwXu0awnskuNiHoUJlvSyc6f8XI5bKtD9lR1fY6DmWiJHh62bzmODtdbFmrzvH3meA9pGvBPOuPpaFLz47yeOBYV8O+XlGqq5ksDwr/3XjzK/6MkJVCUA23dqXQl+09Y3jIG5fm13HzJbvCeGEKjM/pkbNPWCoZmI9QCjz2WOxAdDTmmMOjmLWB2MpU5R5LQmQXro4sCIsACtK9VZnHQ== X-Microsoft-Exchange-Diagnostics: 1; BL2PR03MB242; 31:GzBWOFJCaw8XiMfy/ZD2n+3Lxt0jSRGZ7TyS/JXJtk9V4PH+2NEgOaSgLxPC6lQBTID9Tfb57Uha/u/8Hmiqk3TP5t3rU7ik2cFqJ4noP5yxQumuvmrR4Q8V5i6sS4Vcv3pT3uOzi/NNwR5UjUubgdmw2m0Foo/FjUMIobwOGttHdcNOMdzSsPYnk+TIlP+rxmfGq5Rx3t2swUthCE7bMuJlzNRezF+AeoH4z7mAjaZMDyq+mbj0b2Wwd+ERgG0dR1Gt68CrokSNnlU6awG08U8dXB3qO+8doj1/9tT5zvg= 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)(13015025)(13017025)(8121501046)(5005006)(13023025)(13024025)(13018025)(3002001)(10201501046)(93006095)(93001095)(6055026)(6096035)(20161123556025)(20161123563025)(20161123561025)(201703131430075)(201703131433075)(201703131441075)(201703131448075)(201703161259150)(20161123565025); SRVR:BL2PR03MB242; BCL:0; PCL:0; RULEID:(400006); SRVR:BL2PR03MB242; X-Microsoft-Exchange-Diagnostics: 1; BL2PR03MB242; 4:cs1zedc/MfN0uL7iIiBu/nW/jT6N3Pa6s7wVmo/X7Y2iys2aRFxApg3ONR8/vr807nD7GB0JuF/ueWhFXgzzfEESrcp/jt0bvXElCYTHZMuZp4Cois5je9XP6UeOKzeBbajBBfCm1kYRetrYhNM4anfu0yzm75vTEpOwopiRiS4BQKNAGGMiPjgCPcjyPVQ8u5nzhgkhKMsJjwWxpZ5r+wsyBgdVhAjParE947GCtvpxl9DkdnAW6wJepsfVNBr6d9RhHTyEzyjt1EkAGPv4z97rLkHBZ8I+pK96lvAWgixSjqFM0VOGOL9uv7s0/0r0TLhKZP9cvqkGhqPKyyxddsSpi7yJOvKbHZQzMzVrc5WuZzDmyGn68O53B/Ck6sEpI1viEgUZv27u3HYTd0kAWWOtm26uJsboJ0vmvPFyhnYmeyZDYs5uu+SBQSb/3wDTUBb+9knRga2dgt2cgZfKGORmmcX/ySDqOA7zCQ6Fpm8mMn5lbzzv7HZmQ+O4xvZ1W4kq8TBdBxmr4Y2JFzcS/ZjKKU7F0HufxJ1bs5XHidlM4W9VPavJa1ErRKLaeQbIu8Aq5ZkYzAxVJ+9AfrCSwfLkPJElXXVp8UDtYMsIZji6LnUM8zib3oNj9R/b8ZY9l8Xp0BodM4I5HVnqrd4pZXA70H6uaRQFm0FR7kd7Y3LMu/v06FWQqPPvmwLwkjyqNIOKizG36sXhVSe69hXyp6eed7mfzRMU5ORwTfknP+trx3MhhC5/r5ExG7v0HWS+QvdkddNmoXHV79GrQl9AU5X2wYomAk03YA1UiBfzDiGsIiReA5GHsIfeSDmGX7PFuQpNEEXRiyzwVy5k1eV3xObTBNH3+XxQS/3FSPGYTXBWw0z+X7Mn2R8G7Z77GH0yyqMMqa5A6MkvAXMPoOiWCqjsU7D3DqA9bQGuEwo3PsY= X-Forefront-PRVS: 028256169F X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BL2PR03MB242; 23:V2wQTr3wNPSzZaf3QgA+MOWsWHZKrBux/KNQfLU+3Z?= qZm8wWe9PRP8Pch01Ae3mca346ngUuxAjnpDjtL2iSFhHYwitTcVz33QkFRYXu8iJn84cvbpRsU9SIth/eSq7NpE9QgtmLUEVUJemmPzm9cRU7MzqgEUoZpsSAojkJP5vADV0tncr8R3TcF9Ba1brrhzZ6JWhReXUKMooW+hBnmKrhBUvVgmXabRHIdeaiDJ+KOLFfsCQHaXz61lhCQgMHKUlql1m1J+pWwIndh8dKKqfw3P4PTMh6fqtwXzH7xm+o2jLnPoIFCctHjQETesOgxBtz6zwle1ONya7sIQpa5gj/lE5pJEhNVALtHfSg6rv0Hw/QEvr2p7BV6E/5CnCTqJDxbA+MU39YPoJ0ip3usCq58JPYH+abBtO3Sca7JGipD5WzAaVnnp1JKyfGjpTO5kcSvRRDEDMARGwXSjxJV2Bzx0Ht4jcfxbAiOQ9i3JQ2FzHnvfyqmRd2pTlsJh9jiwGOCmeLoGCVU+LjsvCrp+HoCAdEkk61B3/Qw/7KkbO3iMNZcK4lhq3Cwq+jy+tvGgkUGItkT41MsvURysKPbMv2C3qIM2KCEgDw0b2orRvSa652MSUJKAfcuhfRs2+ooqe4qNuHMx9c5I/WdDJWYbviuKqi8PhL6KsIKA/R38oZYi8Jnj9JYud/S1ltagOlXbQirm5ocuZ+za0hzg+VB66z7zk+lxu5/IuvYW04aA/aGPDN55Bsjpfy3/mTunrGxufVLrIEZEv9+2+KJneZfqB/AdakkQPFGGjqJaqPycyYGL9Irj/BISFt4wFxQ9Yep/VqkkNHW+YoZwvwnNDMknytPxINq4Hapkn1FvdAUH3rW9UUSTigcvsIKB9fXhwvhZEKeuFq4vrnP95PG//I+H/iUxQX/IQa1w9zv+HvIR2RJQSU1BXjA4tedBnMzWo7WqLQaw2YgjPCyX9EY7lo05iqtdRiPVqNgKCVZ0uObl3m2LZuRDRU+PBxGLH4JOcIv6hodq1TfyDDcafPFY+N0SOE66Ptxg0gLVLuIPx6DgBX+uSICLaDreJmErlAEm5tdbgFR8dmrIa3REZ2XsocwLkoUUkJPWj7/+kNrJoJFHk1twsYq4vUtpgXAGm8wfkSdTdwzf9kvVFePU7abgl1KPpcBjlbPowxbXZAPjclQo/Vd3UutVttnGKM6WsaUm37 X-Microsoft-Exchange-Diagnostics: 1; BL2PR03MB242; 6:rNwp3u7BvAUy3CoNhfVfdNEi+9MPpNNBZDPZe3BO3Na9/MlHI83Is1i0ZCqWq2Gdu6NCSdLNUaHQiPFHeyXaezqlNpAy6Kb8lGDI/LGaFHR4aFG8KHFSmgYgl6RwOQh085k7zRHLEQvu1jeHHTSK6pX+c6j1DqGh900gEb7gu9CVsfAHU0TzD+y4HvHNwbyOTCtyozEto1UlVsWeqz20D1QrMuKsa+0Ru5LNeNVFBpkMI9px901lVhoR/gvtJZ5msiw2n2RGNlgwcAIf71tEXsPfT+tz7w3tYyov9qcs30qua0dsGtX4QaY/zxX3Z8KjEBahUhNlwXTfxpLewMVo/QbVjFsfMCbnAi1PpExHgim/k2xicX0GL2n/OiCvV/hm/6tmfcXVeQpcf/X9Uk2/urRqWwdp7ozUssFQCk7MACxjNyLzbro/MC2d3pmgaIA+/ykaCDEamZTLnFwJyzfDbXacKP/2XZlyTEoPzuPoIDOxMdn0PtpEIdwHK9ePN39dvtohgZjeqq/sgA3cE/jqJg==; 5:7Jfm6uPBrtZl858jNN01HWodpwxh5qgMl9W8r6zrHgn6KvEA3gmHKnC/YnIOygHT1Qy3mqAF6Vge7LqLD2yKuBVE8ko9639VgO4ZYQo+UhP0jSyoq1xePP7qt+oO+dVceXmZrKqFLYXYBrU6nvVosh56CUSiNKN0JW4I7kEZArf7ODWaPCR9wpIWVsdZ6bO/; 24:7uhz2Yvi8sN8JmiUgRFPT2uhMKU7O+nSRLk7aZfxu8b2taxyuh9UnAovRRQPG46vDrTn6ElwnKIMUDhwi2OcQc+ekI6tvsR65zKLIEjpdHY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BL2PR03MB242; 7:/f+5shT3Hf7IBK/R9K+x0/sATxcq4q5RvCdEOyCRK/yK5TqdQ+Qd3FlBpUbA1GvXJuKYd1PEDlN7RDICMbDx8QbiLubtmSyH2dGSfQJTdG3smumCLfIxxywLK/OgjVPAz8CVhUncMXJlJ3fU7Ka6X2VpKKzAlPtLrcIffk92CUERVlRfnphK2xW3+O72/WsV20bmjKKzOLoLDOWwvQ3SN57uZIwl24RnvOg7iXd+gRV7e3XmvWeWdC5sLutd0xoWl1xB8T4aSSvW8P7JrPLPsmI8PP3augMzgfofcy2B2yVnNO3zB3AEVIv5QbYf2gc/eXyyXaftvpZLje/t93rd/w== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Apr 2017 13:10:09.2609 (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: BL2PR03MB242 Subject: [dpdk-dev] [PATCH 2/4] 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 | 36 +++++++++++++++--------------------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c index f4c73de..e9800f4 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 @@ -783,6 +784,7 @@ void dpaa2_dev_stats_reset(struct rte_eth_dev *dev) if (ret) { PMD_INIT_LOG(ERR, "Failure in opening dpni@%d device with" " error code %d\n", hw_id, ret); + free(dpni_dev); return -1; } @@ -791,14 +793,14 @@ void dpaa2_dev_stats_reset(struct rte_eth_dev *dev) if (ret) { PMD_INIT_LOG(ERR, "Failure cleaning dpni@%d device with" " error code %d\n", hw_id, ret); - return -1; + 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; + goto init_err; } priv->num_tc = attr.num_tcs; @@ -831,7 +833,7 @@ 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 */ @@ -841,7 +843,8 @@ void dpaa2_dev_stats_reset(struct rte_eth_dev *dev) PMD_INIT_LOG(ERR, "Failed to allocate %d bytes needed to " "store MAC addresses", ETHER_ADDR_LEN * attr.mac_filter_entries); - return -ENOMEM; + ret = -ENOMEM; + goto init_err; } ret = dpni_get_primary_mac_addr(dpni_dev, CMD_PRI_LOW, @@ -850,10 +853,9 @@ void dpaa2_dev_stats_reset(struct rte_eth_dev *dev) if (ret) { PMD_INIT_LOG(ERR, "DPNI get mac address failed:" " Error Code = %d\n", ret); - return -ret; + goto init_err; } - /* ... tx buffer layout ... */ memset(&layout, 0, sizeof(struct dpni_buffer_layout)); layout.options = DPNI_BUF_LAYOUT_OPT_FRAME_STATUS; @@ -863,7 +865,7 @@ void dpaa2_dev_stats_reset(struct rte_eth_dev *dev) if (ret) { PMD_INIT_LOG(ERR, "Error (%d) in setting tx buffer" " layout", ret); - return -1; + goto init_err; } /* ... tx-conf and error buffer layout ... */ @@ -875,7 +877,7 @@ void dpaa2_dev_stats_reset(struct rte_eth_dev *dev) if (ret) { PMD_INIT_LOG(ERR, "Error (%d) in setting tx-conf buffer" " layout", ret); - return -1; + goto init_err; } eth_dev->dev_ops = &dpaa2_ethdev_ops; @@ -886,6 +888,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 @@ -893,7 +898,7 @@ void dpaa2_dev_stats_reset(struct rte_eth_dev *dev) { struct dpaa2_dev_priv *priv = eth_dev->data->dev_private; struct fsl_mc_io *dpni = (struct fsl_mc_io *)priv->hw; - int i, ret; + int i; struct dpaa2_queue *dpaa2_q; PMD_INIT_FUNC_TRACE(); @@ -920,23 +925,12 @@ 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*/ - 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); - } - - /*Free the allocated memory for ethernet private data and dpni*/ - priv->hw = NULL; - free(dpni); - eth_dev->dev_ops = NULL; eth_dev->rx_pkt_burst = NULL; eth_dev->tx_pkt_burst = NULL;