From patchwork Wed Jul 27 02:20:46 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Chen X-Patchwork-Id: 653058 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3rzfWQ5Vx8z9t1p for ; Wed, 27 Jul 2016 12:46:10 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758880AbcG0CqG (ORCPT ); Tue, 26 Jul 2016 22:46:06 -0400 Received: from mail-co1nam03on0060.outbound.protection.outlook.com ([104.47.40.60]:13536 "EHLO NAM03-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1758698AbcG0Cp5 (ORCPT ); Tue, 26 Jul 2016 22:45:57 -0400 Received: from BN3PR0301CA0050.namprd03.prod.outlook.com (10.160.152.146) by CY1PR03MB2300.namprd03.prod.outlook.com (10.166.207.135) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.544.10; Wed, 27 Jul 2016 02:30:34 +0000 Received: from BL2FFO11FD055.protection.gbl (2a01:111:f400:7c09::194) by BN3PR0301CA0050.outlook.office365.com (2a01:111:e400:401e::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.549.15 via Frontend Transport; Wed, 27 Jul 2016 02:30:34 +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; 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.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 BL2FFO11FD055.mail.protection.outlook.com (10.173.161.183) with Microsoft SMTP Server (TLS) id 15.1.539.16 via Frontend Transport; Wed, 27 Jul 2016 02:30:35 +0000 Received: from shlinux2.ap.freescale.net (shlinux2.ap.freescale.net [10.192.224.44]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id u6R2T9Kq016285; Tue, 26 Jul 2016 19:30:29 -0700 From: Peter Chen To: CC: , , , , , , , , , , , , , , , , , Peter Chen Subject: [PATCH 13/15] ethernet: stmicro: stmmac: dwmac-socfpga: add missing of_node_put after calling of_parse_phandle Date: Wed, 27 Jul 2016 10:20:46 +0800 Message-ID: <1469586048-15697-14-git-send-email-peter.chen@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1469586048-15697-1-git-send-email-peter.chen@nxp.com> References: <1469586048-15697-1-git-send-email-peter.chen@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131140602355615261; (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)(7916002)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(33646002)(2351001)(5003940100001)(77096005)(11100500001)(50986999)(110136002)(8936002)(6806005)(106466001)(8676002)(19580405001)(2950100001)(19580395003)(97736004)(87936001)(229853001)(104016004)(92566002)(189998001)(47776003)(76176999)(105606002)(305945005)(85426001)(2906002)(36756003)(8666005)(68736007)(7846002)(81166006)(81156014)(50226002)(48376002)(586003)(86362001)(4326007)(356003)(50466002)(7059030); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR03MB2300; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD055; 1:zD/fEstPyGuaCgQxHJB1gY0gimM3SW0RZI1BWJqD/tnzaAAQXbq3kBkthM6gszFoUx+Rf/TlYJC7sjcIs4wFQfKslp70XBlIEq14eHTSO1tkmDIveXQQjlljcWy3X59EK7Ez+zcXhcRB8kK1B07eKkZU8YOIciutmzJy5lR7xVh7VHtHKxXG1G+tt0CqAFVii/LX+mTE761twkn40kC9vnbBvIGNz1EYz3Kca8TAf2X8CkbOgj21SbGOUaXPeeNx9bJ3GfqiNMD0I2hno59eekoWmgYTp3l6rvAlS0KpAw/qgNkFttGSSlRoGVaartDoIVERNWx4dt+kPVth4zonuK1VW/+ZK2sNEExpzp5C5xot+pFTPq2xAywvu1B5vhq7QTrv7xDgR3EUHq9rOP2GpEFBunK/TWOpK8RO86ZpVXUyR4f4PqveCimw76ZI4OmCvlbvo9k+1Kldeb6pItSUOaP8Yz5vtxKt9MIL20yZu8ALtLdxj1rSKrA++O5tExiWp4Qn/yQTEdZfglyMXUGll1TcGc43EHdKIu0k2VNOXDIEyWMl5Gcd/Uk5bAcxPUdN2a+WaKF/bfDu0CGqxtAhPMb0eCAEpOJRTTaSuAQjGjD/nd5G2zoE0ZIgvQp9tCgA1XdboQUMsU8dduHROCmZCcbEP0dE1f7jeRqeBKO6NRENwp+PUIccehl4TEqjXYjN+FIYvDbf0tIseimC8EggozFhpoBwQf8CSzLQ9pbs2gg= MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 07ae1e64-d691-437d-24c1-08d3b5c5fd7e X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB2300; 2:4QJlck+5qlonh8YboVxcrc9m9G34NW2F9CqrfTvdWn1bEc0XjtBMv8xz38jOBBjCxqqA9QZLq6uT+Q6+XCzKxtuWtgqraG/TmSvfh6wirC0euH+rMLo82Ipngp7yz9SccjGaJ9N4r3iHt5/Th6g+XUzJnOrAXSjfeJblfEDRPxs+qVQ5YftIg93ZsAAfP4dZ; 3:wVQKs5gnA2LJIJo2IO71Q0jfjH5/xlRC7DwCbx9hsxlbxzIF+x+bb1hpOaJnImkKe8ouCEVwjzN5ZRm96b9S46OBvLSp103EDUA+DArr6IoZRFl1bA7vvhMumXaQ+5BHRFkGS7kDENsCa05omPdz1BxMvGoyVFfME2bHfpMzrHbms5Ymw4I5RebbeJJ7JLv6ujg/oA+t8M1Lws7aRU3xVoOYWaIfRsKqizpcLzWH2kU= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB2300; X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB2300; 25:gkyD6XgbcTmSzoEZ9uKiU1Y/uEusPAS+GY7XYgG7GUTw8+ah1p9kcmJNGyaYTskX8uoO/IesfaUbO/PJD1bbkILorSlT1LXUxLnMCTfyrmTZWXpnCldQ0wKUau/WyzdRt+Zh9XwQJq+DtA5IWTNkLRkej7iXV1ggiyf4yliXKZs1bu9oUr5D8cspBf0JsqP57OsnTyw5dvLqAUkfffQDCclC7FnMkdeMjGI/QFqAUKOVc27XiDsW9UtiX2ZKKe1xStswXmwXxZ9dSM0lnh1xHeiOkjH+yZsRVIaE7hk8PFJ4qaOsm+kkxTCZ4eyiLHP2zhy6Y7Es8x+3GnBVmgwIewX299pFjocUykduLtNnHSh28UQQfvTh/FJMMux2+W4TivHY+HPuhLSNGZf6t8KCpJ46oj9HX5ec/QmPZRA2Aq8GLYPneOLxkzKFetEWkeB/u3c49n6onXDdGXk4iPIomAuwboq5wZ0Szl7r9DNFISh1Fz3P+mnElnMDgBF0O8S2C9RtpJMIs9gJP9Y0GjnfTAFME/t2qYqpxAqwgFu4IiIUqH1lA1Vk091qp3JRbFihDjPELhpYxbJ4dJCMy0vqF7h4bMX9eN0J7X+UMxWXn7KbKH7RtJTCHTadOTAVqOvsUPFcDmoV2l53EzXsOQsC6ajeayAtyBypB7GqJYvqp697TrcKaiQjNmKM+KNqQgHk2gFHY016Q2ViJTq33zKJF49+L37cL6wUSe+VgKY2g6c=; 31:C0EO67s+fq2yBqaS+srCxxKEPkdmaJ6T+v3VhtldBCSR2R2CoDcMr32NgsHQGpkUcI3xM9ODADrEq7fuXfcWZH2bt0CMuQML1JPO7+BrRU2ECl9ZEvi3f87OUqD6hacgGG7knM7foxna0xdUOJfdO4IRx138r80fuWBB7BMa1NsOEgotFx/rklqk/2ifSQmKJtcdOpXYXC0o3qArPM7z5g== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(13018025)(5005006)(8121501046)(13023025)(13017025)(13024025)(13015025)(10201501046)(3002001)(6055026); SRVR:CY1PR03MB2300; BCL:0; PCL:0; RULEID:(400006); SRVR:CY1PR03MB2300; X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB2300; 4:cNKI/KA7R/UiATqhelIAWNqcWu6IbD8XwfM7Ft8edADwdFQXNGY48DZlb02LTNWmUvlacl6wtXcQjoelYu5ShjKlXgiKMAIpqzZMeXqxwZL240+G08XhkxojEwDeCPYhGDnPWmMDaH34CFdjzjynmzKDOzJhIphvfBqsSe2v/GUMYVzZmxwRqFU1rJYRwifSSarY2GPh+YG3BeVKHmJegaAmpiSbBgKSCS6S6Rex95//6/of1AprGBUr5TZUPDKA8xHrbUndoGuMqphR6HiTib8IYRtkDsoPowtn3d3ZIx/7ETbMJsoFqOFgPCTcph8lHPAZTxz5QTEvIvWhgF5QUa0MSYMjwXlbKTaRx9IAHEQzKNv1EQfW9yf80k7gs8tPc1GxKbTz0PMm/WzvlOuabwAL9TzB5IgrxVo9YkU8EMzOdoQhoEoZ2LmVXVnfRnvBn0nyXDyzaXoicbaCpdvFxQwfNd1rUhYd4I7lbVe0PBd9ln1IplezSxhh/ySkwNaxrm1hT4AYeiw2PuyaqOwCOg== X-Forefront-PRVS: 0016DEFF96 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR03MB2300; 23:ZNZ1MJSyoFLF3OYQEJ9hLVp9akzv5vmmbYV4oMrZH?= =?us-ascii?Q?pIbs5bRZOkO1AkYKvWupxb49ECnyQZOv5wlAaiD9tn6iG3OlViUl2pO35vy0?= =?us-ascii?Q?plQbh+Jy1UUvbzXjK63a6tWdpyv6Rtr0Kv+P4yuS7dVJBWKkQYa4v26xSdP4?= =?us-ascii?Q?EhnniU6XAIoArtDACfvTzyRgPCZGWJWemGpUHZmvcooyv3WGKau+UxQRAbGo?= =?us-ascii?Q?fl6cpucyKikLA8VNzefDkSJ+fNRel9deIULquvxTJzD2UHVYocHwJbkECqvz?= =?us-ascii?Q?KvfI0593uaDAKTcx1ZICgLxnT7W09B3CPQy5VvcnKl8ltULI3JcmtB01dSFq?= =?us-ascii?Q?viQuwLqoTb19HSg2nHpaT3IQ3ECa01ngvpkfNNxD+nAMWBIuApF9aqpAWM9J?= =?us-ascii?Q?SBD3dnlHmx/hHUuhMDedlYUgqu+sY+2m1WXuKzoUXBEAl1Fm5X1101sK+uy4?= =?us-ascii?Q?zTuyz8aAUeF2z8qocRNKVSm8rv6bjNHrXV3gCvtJ/8kBjhJgR1RjRSH2NcSd?= =?us-ascii?Q?JI9OTY3yPsUaV+XnpkX/i3CeZaNFIZ5mJCqtY93lSYwESZ3aeCLo8Fpgvb3c?= =?us-ascii?Q?RAeIlDrPazyJOOIkLWIXnZCM05SGYrKD4fXhozQkHT8RmbQrBr4q1Tdv2mJz?= =?us-ascii?Q?xOX68C7PjD2seGwRVqUdpLCe7tTeX3Y6GOD4d+QhfLjtdf7Rf6LZ2AH2R8M0?= =?us-ascii?Q?SotMvrAa9BtLsEVdqFVnlA5sKDeKzbfXyFNBTiXZNKPHEGi7Bmhu08Jp7iS9?= =?us-ascii?Q?+1BSc9vIs/Jf1DdTb8rKeVIqRWgX8P7Ju414t5r/IOGk4gtW3WKuD6jo5Oer?= =?us-ascii?Q?YirBqSPyXvHH5L6ep5YTlA0oQhL27I3LK2WLuiq1w//n62wOc6bxKYfie5An?= =?us-ascii?Q?ro1bsOGGW+Idvny55fo30cQFghXslDzkwQpfwBMa1iJyHCkHiJyYxCqAz3T/?= =?us-ascii?Q?toWUefhPwNgpeozn22qwITPcfU1mkackMFmOZHnlwG9Z/1lhWGO7hMd4nwxR?= =?us-ascii?Q?X7dPaR7M4suqhrTZ+js6n2QUbEnyn1Jnuz/5evyDxaS14HerzMekqbQY1owU?= =?us-ascii?Q?CWhFQ2CtYsVHI2G4+6Yv4uZa/zSY/q6oK0m7Peab9ud+18Y4rFvsKM5+nZ3G?= =?us-ascii?Q?l4o5syB96bYvdfUD1NfRTr/l31ylh1a?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB2300; 6:PJoN4B+6l7isguD01eZi0n1bC86iKy//se27H98A5YqOouU6Lfl5saQdZ+dw7oQEWIvCOCWdYL50IBxBtW5sa4oWpIGYTDRZokdat16CFafM0UlIV6r5M9CKI1ieoF+eN/UyaSekR1TTG5AkKVOX7VB/xIetpJR9beU1pG0szpq0+tpdRZtUWEu2KCarg/ZaP8+Swm1ZdMRYo+kxkW09rp6CoWkuQq23GX31Uwf5Dax576hc3Pyv5lSc2tGOR+v+aOEcc0ZTeu7x9scvGwEmiIDEvGNfUPWfbgRtvJKh2b4=; 5:dVX3SuD76HBg0qTU9+RZNGgdeNmF5t47mL+zVv9mjITtnsyoYT9ncKvnLrcgGX7MraD7SrF0iflH2iESDDKg4KRydNzMpKryUuDemC018Ec5f5agOfjsP9g+ZhXaKj6jz4oYpSQgK4yLytLlFsoHqOwWZTiU6tJbEV0JkBlB84Q=; 24:pitFaONJFx7+bXuTgVsI8MZr0eiXV2NLl0wy/32tPC0k6//7O4gOQakZy2e2oIOmaJsKCKSWpqxhq+IL/xRUVgnyep+DrWLGGU18o3nR1as=; 7:nUsN56I6/mnCLPfAPNinidD60ungP0wFpX42VXAY2R2BrLhL5/878Kx8qtm1k96uJo5x6A3jlp7RoA50ErHQg0b4VL3r6boP9maj5B0juTfv7yv6gMKaBWB0qzeBmWXA1nongiCTJdlFibQmz3sX0XoroSdScIK9o2MijAkIQ8dFGvE9aU4Q4SXAhgoYIZzNiDIgIC828hl8HKDbVcyPZDCzr1pl4X6OsXJxWc6EUAZAATPV4x/X6vCMQzMJm4E6 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jul 2016 02:30:35.3275 (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: CY1PR03MB2300 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org of_node_put needs to be called when the device node which is got from of_parse_phandle has finished using. Signed-off-by: Peter Chen --- .../net/ethernet/stmicro/stmmac/dwmac-socfpga.c | 36 ++++++++++++++++------ 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c index edd20c3..bec6963 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c @@ -135,7 +135,9 @@ static int socfpga_dwmac_parse_data(struct socfpga_dwmac *dwmac, struct device * np_splitter = of_parse_phandle(np, "altr,emac-splitter", 0); if (np_splitter) { - if (of_address_to_resource(np_splitter, 0, &res_splitter)) { + ret = of_address_to_resource(np_splitter, 0, &res_splitter); + of_node_put(np_splitter); + if (ret) { dev_info(dev, "Missing emac splitter address\n"); return -EINVAL; } @@ -159,14 +161,17 @@ static int socfpga_dwmac_parse_data(struct socfpga_dwmac *dwmac, struct device * dev_err(dev, "%s: ERROR: missing emac splitter address\n", __func__); - return -EINVAL; + ret = -EINVAL; + goto err_node_put; } dwmac->splitter_base = devm_ioremap_resource(dev, &res_splitter); - if (IS_ERR(dwmac->splitter_base)) - return PTR_ERR(dwmac->splitter_base); + if (IS_ERR(dwmac->splitter_base)) { + ret = PTR_ERR(dwmac->splitter_base); + goto err_node_put; + } } index = of_property_match_string(np_sgmii_adapter, "reg-names", @@ -178,14 +183,17 @@ static int socfpga_dwmac_parse_data(struct socfpga_dwmac *dwmac, struct device * dev_err(dev, "%s: ERROR: failed mapping adapter\n", __func__); - return -EINVAL; + ret = -EINVAL; + goto err_node_put; } dwmac->pcs.sgmii_adapter_base = devm_ioremap_resource(dev, &res_sgmii_adapter); - if (IS_ERR(dwmac->pcs.sgmii_adapter_base)) - return PTR_ERR(dwmac->pcs.sgmii_adapter_base); + if (IS_ERR(dwmac->pcs.sgmii_adapter_base)) { + ret = PTR_ERR(dwmac->pcs.sgmii_adapter_base); + goto err_node_put; + } } index = of_property_match_string(np_sgmii_adapter, "reg-names", @@ -197,22 +205,30 @@ static int socfpga_dwmac_parse_data(struct socfpga_dwmac *dwmac, struct device * dev_err(dev, "%s: ERROR: failed mapping tse control port\n", __func__); - return -EINVAL; + ret = -EINVAL; + goto err_node_put; } dwmac->pcs.tse_pcs_base = devm_ioremap_resource(dev, &res_tse_pcs); - if (IS_ERR(dwmac->pcs.tse_pcs_base)) - return PTR_ERR(dwmac->pcs.tse_pcs_base); + if (IS_ERR(dwmac->pcs.tse_pcs_base)) { + ret = PTR_ERR(dwmac->pcs.tse_pcs_base); + goto err_node_put; + } } } dwmac->reg_offset = reg_offset; dwmac->reg_shift = reg_shift; dwmac->sys_mgr_base_addr = sys_mgr_base_addr; dwmac->dev = dev; + of_node_put(np_sgmii_adapter); return 0; + +err_node_put: + of_node_put(np_sgmii_adapter); + return ret; } static int socfpga_dwmac_set_phy_mode(struct socfpga_dwmac *dwmac)