From patchwork Wed Nov 16 14:40:17 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Claudiu Manoil X-Patchwork-Id: 695623 X-Patchwork-Delegate: scottwood@freescale.com Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [103.22.144.68]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3tJnC43RSFz9t0w for ; Thu, 17 Nov 2016 01:46:40 +1100 (AEDT) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 3tJnC42hyJzDw0w for ; Thu, 17 Nov 2016 01:46:40 +1100 (AEDT) X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0082.outbound.protection.outlook.com [104.47.32.82]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 3tJn4F10rBzDvXg for ; Thu, 17 Nov 2016 01:40:44 +1100 (AEDT) Received: from DM5PR03CA0004.namprd03.prod.outlook.com (10.175.104.14) by MWHPR03MB2479.namprd03.prod.outlook.com (10.169.200.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.721.10; Wed, 16 Nov 2016 14:40:40 +0000 Received: from BN1BFFO11FD031.protection.gbl (2a01:111:f400:7c10::1:146) by DM5PR03CA0004.outlook.office365.com (2603:10b6:3:118::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.734.8 via Frontend Transport; Wed, 16 Nov 2016 14:40:40 +0000 Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none; nxp.com; dmarc=fail action=none header.from=nxp.com; nxp.com; dkim=none (message not signed) header.d=none; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.158.2 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.158.2; helo=az84smr01.freescale.net; Received: from az84smr01.freescale.net (192.88.158.2) by BN1BFFO11FD031.mail.protection.outlook.com (10.58.144.94) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.721.5 via Frontend Transport; Wed, 16 Nov 2016 14:40:40 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:; UpperCasedChecksum:; SizeAsReceived:721; Count:10 Received: from fsr-fed1764-016.ea.freescale.net (fsr-fed1764-016.ea.freescale.net [10.171.81.161]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id uAGEeVKX005542; Wed, 16 Nov 2016 07:40:38 -0700 From: Claudiu Manoil To: Subject: [PATCH 04/17] soc/qbman: Fix resource leak on portal probing error path Date: Wed, 16 Nov 2016 16:40:17 +0200 Message-ID: <1479307230-16650-5-git-send-email-claudiu.manoil@nxp.com> X-Mailer: git-send-email 1.7.11.7 In-Reply-To: <1479307230-16650-1-git-send-email-claudiu.manoil@nxp.com> References: <1479307230-16650-1-git-send-email-claudiu.manoil@nxp.com> X-IncomingHeaderCount: 10 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131237808403815140; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.158.2; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(2980300002)(1109001)(1110001)(339900001)(336004)(199003)(189002)(50466002)(33646002)(6916009)(8666005)(2351001)(47776003)(76176999)(36756003)(4720700003)(50986999)(2906002)(92566002)(2950100002)(626004)(5660300001)(6666003)(110136003)(106466001)(68736007)(81156014)(7846002)(104016004)(50226002)(105606002)(81166006)(48376002)(305945005)(8676002)(8936002)(87936001)(69596002)(85426001)(5003940100001)(4326007)(97736004)(77096005)(86362001)(189998001)(356003)(7059030); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR03MB2479; H:az84smr01.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD031; 1:jKmLXGbWxz61VDXiU2HZcgFwBnv4RlA3dw5TfmQklrVSOJZzmiUrHKHJahW4LkMCTlatjWSozowQ/MmaDtcoVclMeIeM/Eh9eDdHa4BHpslPHrP/fF7M94Ddw0wdtf8IPwCr7bLhXtIYLuFzRpvN+AGqxszYSxJDxNJ4sAZKPyPrQ3M4yHIYKK/iDsWwPpUnANe1MnGxnHVIhfPx0WccJfGWH8xlhKBTtmpLudrf/230fzVELtr8LveyzkcNf6SEO2D0vC7SMUQTXAkyocuqxx7jWF/Ouo2avbOJngze0vODwyBSydcv5sp2GWS8nzvBp6THdSVzbD001GizEN1W9xdk+U+kLFDpTAWtK7iZxeh4bXjdg5FLQe/OljPDXH1z0YTQLM89OOdPHOa236N47WpKh057OKLzQBq+ILYFbUe5l8rN5P62x8XWSVGBHxiaf3fkvejoWF7KUq1PwFduAfzTUoS8VNazzhi+98imqubFEIutfGj2fAQxROT+iQLXRo8VyG6EyrVHlofHc5gghVCkE2c4+lqQaWDOaX9ec83X6g/1f+aeFTnw/V5H3nXvodkUeu+p/d4nZc3yPGqI1TYNoQE8G0pYLBAtsuHtf6c/1k7/0sOgno3d7pAi76X0eUzILFgxqxOGqTWrMMwoo4caekIRDKDuABkNPdx1SyysMJ3lfzjsoOsKukX5/sQ0khdpa3JMJpxJ1ol95sm5+eerJSLrunlvmoxxIGc3EGQ= MIME-Version: 1.0 X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB2479; 2:W4N+9WpPBVOVKOHvJ6YunHMsJMvwYfW3i8kineBO2OQ4Z080WX4Bo6SXtdQ0K4h5zuS7dpYCd3ZNyWXJ4u9+Iv8mdNoZyQVSoGA52PDAvX4PXlvQ1uOZvDtXZQdoV5CrQ3mNZSU/qvtbPgY8P4/QysQdfu7qI7OcYhbrBUaEpDU=; 3:nG2eDtmxfK8shru6LmRmN4cmrtdkePpf6ZNnSLpePU9AlT20uW0Z0grpse3Xwu82+zyUC188/RF6cjV42X+ba1YzPlkCbHIgRheFDJwMF5F0zGWXB+RtrmhLnlFtxCR6wqsruJJd7N/SyxPWM0C1OKFy5Oo6Qy2Tju9CPE2lhRVdjvvnNmVxXbloSfjqBWnY+rnX2JKpEaVfIjs8+dZg4TTfs7wctEriSEM2GtiXIE3qQJ35PM6Bjy2qYuWfKls/9Q5ERxpjDaLF1dWPzf6Zqw== X-MS-Office365-Filtering-Correlation-Id: f72ac8bc-df04-4fec-3983-08d40e2e8977 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:MWHPR03MB2479; X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB2479; 25:j47lDA+5Tvu9jzyGSnBVGwsQEvfvcoILqnIqg/BFOd8oPaMnB339fs9kAdlg0jWCfSq1ZXvIVjlAFjwC84CiPJh0Ryu/tT3bmEL62uI8249FFBzwVujc8TktOfPPcuF1PkqxxzrsOwx1zr2lWrmjqTTEHj7kWR/mELoSgTHfdliHWfb55OedAWMsCkzogOVzoKiNwcOxDlemEUY10Ht1/X97yn9nGZjc4/DVI04/X3qibzNQTv/nV0xbscCK9RMIgRb18WRnfCWDtMMqaGOP5SNgd3IFsP6UL/L4gJ7bsLp8wDPzl3VyPS6VERAYburpDp2yYw2qascJKqVEan2qlCne8cCsT7/tgm6+LXFfqJeAJpXfeTm2wqQEdEtSChqkq1qxm1vXJx79BXF/LiHZ7NGaVQEjW96FKrKoAT6XHIqd+tjlIAEr3MOX4GOul16FBfsMl863hlZlz75AfZPXg71qjpZxdLNaCCIlA5I9EGNH/UqvWdKX65bYnnwqRaVPp9NQqiVLNMIcyGVpWangzbYQEX75jIazfeSvltOe3uCW4uABWA3VvOKuMOnBQpL7DiiSGpAw4c27K73L0RIFTTqNf5qkIFsYH/4HwJWXPg89VS/StJCcO/iRpmYNdbaNWnEcshSquXsT14uCCUoapIEfI9CtDX8fBKreopYO25Q+fhypOVHfgpwH/hHsx3Njvm0D/06HLDup3LkE5hLuXUuhlQ8PY6UYeCPH3p1Nsqv3jmqGBdU7YmY1wn2gswE3gfALJttsFM6BdXQkRyPBxstybK7l+RqzVCmvmHTfIx4= X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB2479; 31:bvhs8IAqA+bHWUMJa1i7a54R3v1LKGvOlNWOhLXHbgcn1coqTvFj+zUKjfPk2L68d2BsGSPhMLUuYEmJpi2b+JJ2Qim0zFIzgkkFqY38rEbZb0wQCC2T79yR7w7Y70cI+Qu57S5sOXKZAHhIHSYf5oQgyAJaA3YNNICCcrdw8Xrod9B/0jUyd77/lAX2+0ObYXOa8TCEyeRqOVJXaf06R4ColhyN2kVRRLiYqEF/8Hw/YFn5widDpVKUOP0wJWZ3uqXn1fgOljrco/ARBF8cEg==; 4:w2F3lJPS0MSyVHrwGgPuhdkcN/1bbDVSDqKvQ8ZI/XOGxTMMwxmv+IAl8yidNCk+EuSDpi8dP6FwN5brgMzGMUTA0YqYAadGrgNxuqCBbBWToj22hookTch+W3pNZ5SBKEops4DwYUL3wI6fIxw+s8Rq2apH18K7weQrVTRUZRD3IuiLBHGv+vPhHU6tjoobAuDNqz3HTzW1SAQki30kbgckpaqiYFa9lVrPoitOPxXYYBzaY7z7dsJW+keZ8BMgZeXXVPEnAHAXy3YXwGvkPKtr64HypxDZB3h4y94KmB9+Fdkd+CjBvE6X+pkIwXDS4alRmJX0Nd1Jw+RJtq5B7jD38+hViM05D/Rciad6zq8jO7iolTv1gm2pkOhDjdsJwkXV4hJGfLKyIFyKneKS8y9kAzyppLuUVMoHvC4+9JwHfoNCKDAk9N5f29JppU0kcGEoEx/V61Y7y3sKhXqkl66HJeWDrivmmj12WrCuiiAH+Mj+Lz+W3xh7okOk/HxuMAyIH+I6431bDqCbE7+BeO5I8ne9J7+q7zaAwZCGqHusPwunQbOYIkU9I2DeZur4gkuyK8jl3+OMFnO3Wq3zOh1wf/37Ia0nMSGHajFarSU= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(275809806118684); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095035)(601004)(2401047)(8121501046)(13018025)(13023025)(13017025)(5005006)(13015025)(13024025)(10201501046)(3002001)(6055026)(6096035); SRVR:MWHPR03MB2479; BCL:0; PCL:0; RULEID:(400006); SRVR:MWHPR03MB2479; X-Forefront-PRVS: 01283822F8 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; MWHPR03MB2479; 23:PX8n9AQgIFeIJ0kosJ8Y/1jitJP40LJL7mwItFQ0n?= =?us-ascii?Q?lMWYxjrgQCul9t9WlfFDdXQrorNMt5HED+5+vsIakBSoyIof8ygDUcq4j6Ox?= =?us-ascii?Q?+wtdfm+Wm3xKJzgp21r7tyt7nlfi9rFNkYiNbHLF1CKFKtZWBB07qKGpJSHD?= =?us-ascii?Q?t9RJ9P7awhh5XG6LFZC0zyQYWfQmAWjkNDAr3U1P63h7L9H89f8xhwpkjFnq?= =?us-ascii?Q?n+UcSiMZkDycniVrePeQaj5q7OrM0B9xqtLxNJOTBtPIvKExjGn0F13Wj7xq?= =?us-ascii?Q?hZBIivYY/g6EZvc5O+RYQcp70dnOMSLhbzrR95v7dICmy6rpqhgUkrMxqVm1?= =?us-ascii?Q?J985ZHNtKcwcpaCR1Z2g4C0O0bO8fezSHwp2rYRL5Zj7PK1uhkn5LxsCQMhn?= =?us-ascii?Q?uFNHbkP5FdqiDtu0o/cu0gzddXDdk2XJ/gnPXSlxz4n/d/zrj2IED/zN2asU?= =?us-ascii?Q?kwjc5ep4T24Kv2fqPL6Okq6iVIAGKfFmbS9SIjjnNc7IjqND0ds87d91Rqvb?= =?us-ascii?Q?mirQi1al5v5rOKPj88GEbVMHwxaytyggsJr7ZS4kYz9mIGS+i2HSPftmFViS?= =?us-ascii?Q?gylXeZ/Ypn2qvMeKHFjTIVX+v2shkvvEU8G/cbfnhpdhTIu4rShq8SdvOaPl?= =?us-ascii?Q?CQ7DDTNpqCwZi4nRXW3H5K76+Rlfi3uDcrq45pUfaOWH54IGDDWnLYBct2kY?= =?us-ascii?Q?K4VeXbeRvLn5VNcnjVbpg1Vz7VMTusyIud3qy1/s1z5syjDHUx78g+Pa8Ofv?= =?us-ascii?Q?pvtZ/qWKxQaIBhvRV1QAcCXhhpGT8jomidjJgp6XKFKVO2xoH+ajsshZ2C6p?= =?us-ascii?Q?Z0OB7jhqjEmH7CHbeebGOVY0qxw9eNLzYnLGo1F2FwszvvV8gk5nMXhKCEhc?= =?us-ascii?Q?ou2aOLXkFQx7wpZ1rv3cno+9YUlkZOrHnnAGwURsCNmlncaew+pcA1iZK/pv?= =?us-ascii?Q?bq6KztP8VZz5TCx1lrOJtWzmptX5A2/orE9rtNaqqc2tVMRnb/7U+xgvdrFV?= =?us-ascii?Q?T0fvqBC4FqfbE1sIKs70H35RZjIq3cCJjp10/ncaAURG9uJV4ZbuelZDp+mJ?= =?us-ascii?Q?VE+mEiv2D1H9HEmIJJyx09pBrCuIK1CeKTunmzpEcdi5PsttZS/jH7wY/MhK?= =?us-ascii?Q?rj8kX9DtdEPH++TWegyJBp0DBq0W8//145LOO18VFP56KHVl+j4YA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB2479; 6:9sdu1LF19C+UT7eoKwVjCn3fTK3lP+SwbK0vw1x8SC0UzyFgQXLqx8hGWiaHNqJRvHHW71I7a0gylXhoYaG72NsX/a1sDlX6cHteweSGMCSKVfdVNLwfv8TT6VFCMsmTU5O8rWrm9JqLwfRoE+AzTuD87fdiyKI7uln9z76YuRyWyO+ZRUFssA5xkkGCb9FvTceIqFLvQr83gYBukVKAy7GGJaULSbREIx4eVyaH7uooPqJUvzSzXzICJR9/NA8vZO4KED2kTzL7muMNd1WIoccZgQ0gXVeJNknADU/2+6lPBFLryngiOUPJZRuMhAz0GpdJswXplVHC6NkQpaBHkw==; 5:NZRZyCUwRSwdSJczC4SwZX94/i9pO0khLaqAVJYehSRNHV/VWjA3fkOuBL+d9ZzjUMH+HWzMm8yXqViz5AJJFN72UAVb1XZYlwD+5fpxQK6+agtHYm8DVXARb4Z5Ti0a4IgWPFMQesDjPHXuqaDDnkVuIZnGmfnlAhiO1aBWwK2r13bO1wquhk+c2Al3uvG2; 24:m3A/E2zaJsZdtoYM8GDRkEonjmtAeo1MZB2N7p5+SPmp1iDRQI9dVLP90grZiiixqPKGlMTf7eAnUS99LRkK6/avXmDcszu2rzHkAXhfOPg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB2479; 7:ARowXTW5CEn+uXJsEfJRShGXDs2BM63oS50HtWgBFWNRZLgv6t9UFC59XBKSgIaMNSpbgXKg1vF88mQSbxJEjfszZWkFV6GoGT69X+NjEulwTcR1soiNvEaLbCKpiL5DlqaZ+LZSlyJrl6NlX5b0v7qGlkKhdj4CsPHURLNCPN2UDcFWgJYTrwvY9tNrhjCQJ4fJsCzgVvCNtfDd7juqWT/nYG/M+AO9EJ+CdUFcDsMizLXvbphfY4KidyEIh1HXIbxqwOXCqej20XPioq72GZyJlQZ4VzkUi2kMoO9vd47oFvr8uAQxS59llYJ8wRcl2G09MbmK4lDHcashU9hc0bCTPIWhZ9CmoJ1cIRqFhVI= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2016 14:40:40.1163 (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.158.2]; Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR03MB2479 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Scott Wood , roy.pledge@nxp.com Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" In case init_pcfg() returns with error the CI region must be unmapped too. Signed-off-by: Claudiu Manoil --- drivers/soc/fsl/qbman/bman_portal.c | 17 ++++++++++++----- drivers/soc/fsl/qbman/qman_portal.c | 17 ++++++++++++----- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/drivers/soc/fsl/qbman/bman_portal.c b/drivers/soc/fsl/qbman/bman_portal.c index 6579cc1..dd3f5d7 100644 --- a/drivers/soc/fsl/qbman/bman_portal.c +++ b/drivers/soc/fsl/qbman/bman_portal.c @@ -146,15 +146,19 @@ static int bman_portal_probe(struct platform_device *pdev) pcfg->irq = irq; va = ioremap_prot(addr_phys[0]->start, resource_size(addr_phys[0]), 0); - if (!va) + if (!va) { + dev_err(dev, "ioremap::CE failed\n"); goto err_ioremap1; + } pcfg->addr_virt[DPAA_PORTAL_CE] = va; va = ioremap_prot(addr_phys[1]->start, resource_size(addr_phys[1]), _PAGE_GUARDED | _PAGE_NO_CACHE); - if (!va) + if (!va) { + dev_err(dev, "ioremap::CI failed\n"); goto err_ioremap2; + } pcfg->addr_virt[DPAA_PORTAL_CI] = va; @@ -170,8 +174,10 @@ static int bman_portal_probe(struct platform_device *pdev) spin_unlock(&bman_lock); pcfg->cpu = cpu; - if (!init_pcfg(pcfg)) - goto err_ioremap2; + if (!init_pcfg(pcfg)) { + dev_err(dev, "portal init failed\n"); + goto err_portal_init; + } /* clear irq affinity if assigned cpu is offline */ if (!cpu_online(cpu)) @@ -179,10 +185,11 @@ static int bman_portal_probe(struct platform_device *pdev) return 0; +err_portal_init: + iounmap(pcfg->addr_virt[DPAA_PORTAL_CI]); err_ioremap2: iounmap(pcfg->addr_virt[DPAA_PORTAL_CE]); err_ioremap1: - dev_err(dev, "ioremap failed\n"); return -ENXIO; } diff --git a/drivers/soc/fsl/qbman/qman_portal.c b/drivers/soc/fsl/qbman/qman_portal.c index 0c3e8ad..6651168 100644 --- a/drivers/soc/fsl/qbman/qman_portal.c +++ b/drivers/soc/fsl/qbman/qman_portal.c @@ -280,15 +280,19 @@ static int qman_portal_probe(struct platform_device *pdev) pcfg->irq = irq; va = ioremap_prot(addr_phys[0]->start, resource_size(addr_phys[0]), 0); - if (!va) + if (!va) { + dev_err(dev, "ioremap::CE failed\n"); goto err_ioremap1; + } pcfg->addr_virt[DPAA_PORTAL_CE] = va; va = ioremap_prot(addr_phys[1]->start, resource_size(addr_phys[1]), _PAGE_GUARDED | _PAGE_NO_CACHE); - if (!va) + if (!va) { + dev_err(dev, "ioremap::CI failed\n"); goto err_ioremap2; + } pcfg->addr_virt[DPAA_PORTAL_CI] = va; @@ -306,8 +310,10 @@ static int qman_portal_probe(struct platform_device *pdev) spin_unlock(&qman_lock); pcfg->cpu = cpu; - if (!init_pcfg(pcfg)) - goto err_ioremap2; + if (!init_pcfg(pcfg)) { + dev_err(dev, "portal init failed\n"); + goto err_portal_init; + } /* clear irq affinity if assigned cpu is offline */ if (!cpu_online(cpu)) @@ -315,10 +321,11 @@ static int qman_portal_probe(struct platform_device *pdev) return 0; +err_portal_init: + iounmap(pcfg->addr_virt[DPAA_PORTAL_CI]); err_ioremap2: iounmap(pcfg->addr_virt[DPAA_PORTAL_CE]); err_ioremap1: - dev_err(dev, "ioremap failed\n"); return -ENXIO; }