From patchwork Mon Aug 1 07:02:41 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Chen X-Patchwork-Id: 654534 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: davem@davemloft.net Delivered-To: davem-davemloft@shards.monkeyblade.net Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0069.outbound.protection.outlook.com [104.47.36.69]) by shards.monkeyblade.net (Postfix) with ESMTPS id 16A75598F73 for ; Mon, 1 Aug 2016 00:12:40 -0700 (PDT) Received: from BN3PR0301CA0060.namprd03.prod.outlook.com (10.160.152.156) by BY2PR0301MB0693.namprd03.prod.outlook.com (10.160.63.148) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.549.15; Mon, 1 Aug 2016 07:12:37 +0000 Received: from BL2FFO11FD026.protection.gbl (2a01:111:f400:7c09::144) by BN3PR0301CA0060.outlook.office365.com (2a01:111:e400:401e::28) 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; Mon, 1 Aug 2016 07:12:36 +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 BL2FFO11FD026.mail.protection.outlook.com (10.173.161.105) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.549.5 via Frontend Transport; Mon, 1 Aug 2016 07:12:37 +0000 Received: from shlinux2.ap.freescale.net (shlinux2.ap.freescale.net [10.192.224.44]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id u717BL22013140; Mon, 1 Aug 2016 00:12:31 -0700 From: Peter Chen To: CC: , , , , , , , , , , , , , , , , , Peter Chen Subject: [PATCH v2 13/15] ethernet: stmicro: stmmac: dwmac-socfpga: add missing of_node_put after calling of_parse_phandle Date: Mon, 1 Aug 2016 15:02:41 +0800 Message-ID: <1470034963-30506-14-git-send-email-peter.chen@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1470034963-30506-1-git-send-email-peter.chen@nxp.com> References: <1470034963-30506-1-git-send-email-peter.chen@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131145091573246622; (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)(1110001)(1109001)(339900001)(199003)(189002)(305945005)(68736007)(47776003)(2906002)(77096005)(7846002)(50466002)(69596002)(81156014)(189998001)(81166006)(19580405001)(586003)(356003)(7416002)(8666005)(8936002)(110136002)(8676002)(19580395003)(2950100001)(4326007)(86362001)(48376002)(50226002)(97736004)(92566002)(50986999)(105606002)(85426001)(76176999)(87936001)(5003940100001)(106466001)(229853001)(36756003)(2351001)(33646002)(104016004)(7059030); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR0301MB0693; H:az84smr01.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD026; 1:PBGk6ScEnRtws5lQF7ml6bm9Y/FIffM/a9XUMyUSgKWwKzChSFQ5zQU5DqtLUoQBNZ4y5iQzKXSANO0WYeiyFMhkNyLoGv3QJCOJ9U86BTTwA+AsPvZNuMP6myCDmO4DvZMSsiAu8er9xZQSzBlJCGeA2Qt++chSjGrJmQNgO8fEZGA+CB+exL9MrTEaITscdH+B988HT3p8RpkvTbLSUQK2U6p0xdMfX5wCysvh7qcGuKAbqLCf5Gjtye1A2fuwRbukZo4JAFZHocAl6TsxobBey3XInWPAtYkU93mPL05SZH1diY7IezCcqw6nViK13qZuq1z9fSpZTYvS2R4JyMD+T93phek4lwXMSnow1FDCzP0iJQ+vggURA9+7xBavoX+tR3HSo8LpVK1u7aTnE46Zv9QYw3xm9EpvpAT/BwfoEFeryNuYX60Jaz1JBode3umg1Uc8W1xNoPqMm9I8Iv2IHqZ5hCLj3KlZHILwmrNiBhqsBAebj9F8rhcIJ1NLv5WYBd5mO4Y6szBkgdC5lYXNRt8pWTMah4v1WOxnKwUQ8+97WwM1TOAbyuBSOs2jJCl8udCR06ezxtxmB4cOb2Ouu0CTQowE08n2xbvVrlKYvPYiDX3PUsZEKafq3yiBg7f6suaSnMXqHR1xtsuexID0ZLji8hqU4gThQGJz5g23zoD1RWFssW0r/dna6lRUW/zVmXfpuYElNLzdimYlGon/SqKrmBFWrC77V9kQFyc= MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 19582b94-e2a1-4e8c-6a9e-08d3b9db37b9 X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB0693; 2:C4VZCWtWlL1SI13THD4PuAp2xc5N8fAYDugh0nKFzvtAKwIwR5Zjkipq8UQZ7nwO9j6ZmEquY+x31nRWqFpXmd2F+PJpIyKB9kV+kmLeSINgly8GOXkpEcxLzHw+5kOD4/mZeXWc16QzVP7feA2PqRGhmEZo0XIVOKgRcjwULU+aWrSKHXr6Sr25YvnlQxBP; 3:yJQJNRsoRffmXt/43ZRaW+xVbeKjmCtdhAnOKY18VKo4kpuTuJiv7sSV4MldXw/v/F1fuvyFksKqAdKs0y8OnNpOKe0xPn+oRXW6aiM/9gfvKmbWKZVomU+7nDScQBxpA1Ql0X91GZarBBzgeYJEt48OqIRynCAiSr21canvbmv8rKDbNYAF9NT4Z6w1i8UBE9nIoLvgoDnQ4ZBJ/xavfoVaDoyOJVsZFMnK9xnLW8c= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR0301MB0693; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB0693; 25:/2u/SBpHetT/62QXiGHAYQ1lS0y6QIGmVIA2fNOdmxeR5ltxbO4xqEPuZXgO31pnVy5Xg25Ms9vgllFaAwz/9XiuGEnHlDlx4XoHgvhsXIsBpwtaOqNvmtzIpTbqQXUm+6vzFTFYQik5fSuO3LzloEzLRsl3Qh0oF35fzH/6MZrcCiosB234u2XFWTh2wieS+SsbjfY3KadEW5OmzzcsUohTo/xZf+mMXWvpmOhoRkYXN0gYQ1ENUZAQKMQucYOq3EsgLakFGPS/rKWDeFXWf2D6gnCZhFJk8LsEXSHGvltFYIhw/lvUHMQrVCGbiN8XsIhhx5VsVl1UXGGWyQGLl/PC8DufBczl7FDCcQXaQgIfiepibor9XagRyAd3x06xkzTvSPTYlgCf89n1rhz7QvdUynjX8T2deTWk0rRBNEsQ4WOHQsgcLn+aDQGVuPKzwlsWHZFpS7NBnTyGyQbDRQvz3QYojt2Ny6QwqytjYe7NwzcAxmgshTuflk1ddfL4NXNgpFhnPi0uoIk6R+M8P0Qj/qMT3bKH4G3l8bi4MlWtVyQejth+tVSBQlU33SLr99WFJEOuwf4CK3tkybDLm7TR3+cn8BoBbBLrHwnnwQLEmGgwoi5/BPaZLTJ4UJZf9E/yXlh2SZYmaPgffD7aEN5BiA6VgFHhf3NoQgQlz5VNSyOqDzOf21JcC+OxLUVEjxD/w80J8+1ShFm+YCoxgBabbr3rtTUulorRSY/jl7E3Tf4K0rCS/F2/pF1huVuj X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB0693; 31:cxFUrHNpdCk61FeiVQ78y2NFclnQ0TK9ILyrC5VXD/Jr5pN1nJEZWX/jh+UZYKDjqQVwpcprCXu65hmmzuJVQOWs7MjtRCW7eLELBvv7txpQUYwyyQoehXU7Eg6ffNlY+YGEBht6uR76HMD51Coz0X8cD2JEQejiBMY/Lz+kZgQ1AUIznQ4peck4zQ4Yy3eZCetbkdmNsjhaNnUjSQPPfw==; 4:ttgxHhyz1n5FSgtR5gB8chMCDkwPFiR7KN8S2E+nDaAYfJE7d07b28YxM2j3dZORmikN5le/5n1bKuWvSayDMgqGZr14zNGunA+FHTLC72WclfXs8dbHVHp2OZxmLSlgviDZchxc3rlaKzVhyM4jBf1OjQ9Bx7SsmNriHDnge7rXvqKZHSHuMFg30tXvlzYhURwUeEdNZ06/CIG52712z+kpsBoBwE8QFCmJXRTKGXY0+duzuC9gN7rkfSDzl7jD9Ref/gbJ4Pp+PM7Mtdcfz4Y0tnFJ0fFjHweL9ZKZsdQusyJ5jo4KUBnhfAOWx8wqmR57/JjaPUDtsR8ctJWPhrb9zdnngwW+eSzjSZYCT0mHWsQali7MhKLT3VdpQjU4gCuHmDSNBWX8D1xutvfdiYotnTKuyzGUqzt39LByiiqj4W49gGkXd3rEueUbO6yCsuwXVi6iZzuMfBi8dP/pRL2ojeFjzS+t2UPmpjsmWmCuLP7VxLuhpwamwfJNukenxG8oPcxOye+Jc4+z4HV2Ug== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(13023025)(13024025)(13015025)(13018025)(13017025)(8121501046)(5005006)(10201501046)(3002001)(6055026); SRVR:BY2PR0301MB0693; BCL:0; PCL:0; RULEID:(400006); SRVR:BY2PR0301MB0693; X-Forefront-PRVS: 0021920B5A X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR0301MB0693; 23:Y3KgpMhtLAPZ+soG+V18RgTxLoa1nyQ36qerx4k?= =?us-ascii?Q?w0qC+oshxkBpQqhNOHw7Mq/dpQ1VYKAFVCpEBwjnkSdOPsuJAaIqNcV+8mOO?= =?us-ascii?Q?0qnUdwtw1LCvPKEMW8ezUjcs9GGj6X+V8FY5YzVB0w4O4dvVhjg8frwe7muh?= =?us-ascii?Q?HvK+yfE4OgvX+CGbfXhHRDnUpKP3E6iJOYDsLjw4njR9HYkM28nxisrDb8sU?= =?us-ascii?Q?UTTBfuSXR9KZYrzMf6vIEDNlwJd/2IsY8vz4IHbBqDEXAIvqBgDBzmBiP7Dn?= =?us-ascii?Q?KXHlnheZDU/WyGR6THXBqzPU4BROselS+U3roZjepbOg7ChG64A9cu6Z3kE7?= =?us-ascii?Q?uQv56uSXQoTkFmRbwDfHtfqtqNJHokrZKSQ5G+/GHjWdsDowPn1kxt1O1Niv?= =?us-ascii?Q?SNdFd5Fne64nhsVhfYu3G7TXTnpqsRYB2CP2J7G3j1qCPOBZiBR24Niaaiih?= =?us-ascii?Q?1WWI8k3BpNLGDIahPOeyhb5loX+P8LRzrVcpVD37LipcizbySOAJ+iorrZy2?= =?us-ascii?Q?ASLks0XtJ+FvkDE+cu5EGfR/l5nLnmdf9nwLlRH5WzueR2Y42dt2CI4P+E5I?= =?us-ascii?Q?keU/KcvifT84vulMoQk6DZzxPH7gmYmh6vbE7KUEimzUocDKkCrkxYU6Izmk?= =?us-ascii?Q?uuEwY1O7nMrmzTwag+MJIP/VZKvgOBOr2YMuBrsjrqolmlepz2k9bs4iVmCA?= =?us-ascii?Q?Y92+f1jjPBz8l5MBCvT1Ffr3YaHwqO2JjG9YnmkP8ZyOnvYESWz27aX47c/q?= =?us-ascii?Q?JzDz8ewO2MZmISHekFvfXgNDT+IwLJcxKKg+L45ZpIawxCztcDEgL8hSFFB4?= =?us-ascii?Q?RChW4Y3djLosVu8v6TZ8xIRklhPvE9j3632vXqRRIImOdf8jWCHsKBNghUrt?= =?us-ascii?Q?PKy+zTzVA9TgkDILCV4ieXlD1CLvdks++PQQF6S6LBS1z04nTEYvzmTmv99k?= =?us-ascii?Q?E1FV+vHOMwtol/er38E8ImWs1MNKqxxy+aMfX9nxncBKuS8iti8QAl8SjXpW?= =?us-ascii?Q?C9c9mkhPh0X1rsQn/n7pR/q71WJMhrhSWu1qVFftWjwBiNlUdWaqMU62GS4l?= =?us-ascii?Q?CqiQNA7Fwkx5Wf7gekwumVhviQ+zx42epVpsmK7pK+JNUuu4wLZa/IPtH5jc?= =?us-ascii?Q?0xuVjAT7y3tHscphk5usGfrMfCYQGgiFO?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB0693; 6:H7mHaBvqVceibN4hdNkNYnWDUmZHAX4ZVnZ5ltjSeo4gQKu6xJnrCgQiqFi+x5x1IMPXSE0vQLVz1ZzSzxzmSu/hArYyZsaVVff+hopywefISDWLJHoea+d4SeBWSmmYNDPqez7kzIj4/V1TguCkcNV7YDlShCQlPt0Ejp14NrFcpy1gmphgZZpSlN9O8/ljq4JVdYw/u38jFlG4rN4GQOVYbwamNf/X7e4Q1y1wBgCbtCgSpuKSr0qWrAb67eMeVNBn0OjEyfAesrmOPVhRb8lsRYroF1FFoKTsg9PYL/I=; 5:UN1QoEHpl4/Hbshc/uxxnv1i80lMlh3XSaypXtW+NjPug2riQQNFCoY+G35NQ6cn3UzUi1ixxfk3wjOPB81ka03br1QCGfOXsjto1AZciCsQQCKnt7bgimlBNGCb+1K49o6p23T9iZVEnbAAAQIJgC535wtq3Z6MGe9aaVKJU7g=; 24:+h87Q3pJCvQjoqM1EzKXfIA9UkTjEVV7UWltIwjbXqNBWz2iDaYxqjboaDig0QDlF4U/afA/h3h0aup6zoQ2maQqce2n1CvhaU+Nfzv/mL0=; 7:Kwb1pzh3k7nrAuszEf1LXHsKG5noObsJyoBl3ph6YNkd+QcroUjws7D6DwTcihyetYY6XLMrU3s7f3VZYyWYGiVuP9FWQWZB07UhhudP3lF6JHyb0hbNvXMeWUgqDovnAQhW84avXPvVuOr48YKvqo75CRRQh01VV+FLdvA54R7i+2fqQy4EUE+sXzFuE8VhjL7aI8yZIVTzW07SCjofmC2LzU7Nl1AOLAe2V9TN5iJK/z2vcQqygpn+AoHqxCZy SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Aug 2016 07:12:37.0282 (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: BY2PR0301MB0693 X-Greylist: Sender DNS name whitelisted, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Mon, 01 Aug 2016 00:12:40 -0700 (PDT) List-ID: 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)