From patchwork Mon Feb 18 05:24:09 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jingoo Han X-Patchwork-Id: 2155581 Return-Path: X-Original-To: patchwork-linux-fbdev@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id 8E30F3FDF1 for ; Mon, 18 Feb 2013 05:24:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757205Ab3BRFYM (ORCPT ); Mon, 18 Feb 2013 00:24:12 -0500 Received: from mailout3.samsung.com ([203.254.224.33]:58473 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753666Ab3BRFYL (ORCPT ); Mon, 18 Feb 2013 00:24:11 -0500 Received: from epcpsbgr3.samsung.com (u143.gpu120.samsung.co.kr [203.254.230.143]) by mailout3.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MIE00CK0HNTB0H0@mailout3.samsung.com>; Mon, 18 Feb 2013 14:24:10 +0900 (KST) Received: from epcpsbgm2.samsung.com ( [203.254.230.49]) by epcpsbgr3.samsung.com (EPCPMTA) with SMTP id 0F.0C.03448.AFAB1215; Mon, 18 Feb 2013 14:24:10 +0900 (KST) X-AuditID: cbfee68f-b7f656d000000d78-ac-5121bafae461 Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm2.samsung.com (EPCPMTA) with SMTP id 01.75.03880.9FAB1215; Mon, 18 Feb 2013 14:24:10 +0900 (KST) Received: from DOJG1HAN02 ([12.23.120.99]) by mmp1.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0MIE00AQBHO96P20@mmp1.samsung.com>; Mon, 18 Feb 2013 14:24:09 +0900 (KST) From: Jingoo Han To: 'Andrew Morton' Cc: linux-kernel@vger.kernel.org, linux-fbdev@vger.kernel.org, 'Florian Tobias Schandinat' , 'Jingoo Han' Subject: [PATCH 1/2 RESEND] video: exynos_dp: add missing of_node_put() Date: Mon, 18 Feb 2013 14:24:09 +0900 Message-id: <000801ce0d98$2e103fd0$8a30bf70$%han@samsung.com> MIME-version: 1.0 Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7bit X-Mailer: Microsoft Office Outlook 12.0 Thread-index: Ac4NmC3wY06s4orcQzuu4vTFFedQgA== Content-language: ko X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprDIsWRmVeSWpSXmKPExsVy+t8zQ91fuxQDDX6e57E40feB1eLyrjls DkwenzfJBTBGcdmkpOZklqUW6dslcGX0rVjPWtAkULHtbCNbA+MC3i5GTg4JAROJNW+mMkPY YhIX7q1nA7GFBJYxSkw9HwBTc/76JaAaLqD4IkaJV/1/GSGcX4wSX5f+ZwepYhNQk/jy5TCQ zcEhIqAv0daiAVLDLDCXUeLSmiMsIDXCAu4Sq9bOZAWxWQRUJeZefgEW5xWwlZh47xIThC0o 8WPyPbA4s4CWxPqdx5kgbHmJzWveMoPMlxBQl3j0VxckLCKgJ9H36RdUuYjEvhfvwG6TEOhn l2ict4YNYpeAxLfJh1ggemUlNh2AelhS4uCKGywTGMVmIdk8C8nmWUg2z0KyYgEjyypG0dSC 5ILipPQiY73ixNzi0rx0veT83E2MkJjp38F494D1IcZkoPUTmaVEk/OBMZdXEm9obGxiZmJq Ym5pam5KmrCSOK/8JZlAIYH0xJLU7NTUgtSi+KLSnNTiQ4xMHJxSDYxO9lNSHmm+qfz2dscs sYnKFQs3f5MPP7WzrI5n5gmJiJLNavtVNnOLlitO6tGd+MAy6R+HkIWllLZl242/bgcezky0 3ft5d4zZ4ucyn/9Jh5/mKZG4W/z/yPz1+/K5o+7eVMxsF73W1/fyxVavksruy1M+bTdTqHi2 I+rjo1Czi106h77MEN6oxFKckWioxVxUnAgAKUOZh68CAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrFIsWRmVeSWpSXmKPExsVy+t9jAd1fuxQDDd6cZbU40feB1eLyrjls DkwenzfJBTBGNTDaZKQmpqQWKaTmJeenZOal2yp5B8c7x5uaGRjqGlpamCsp5CXmptoqufgE 6Lpl5gCNVlIoS8wpBQoFJBYXK+nbYZoQGuKmawHTGKHrGxIE12NkgAYS1jFm9K1Yz1rQJFCx 7WwjWwPjAt4uRk4OCQETifPXLzFD2GISF+6tZ+ti5OIQEljEKPGq/y8jhPOLUeLr0v/sIFVs AmoSX74cBrI5OEQE9CXaWjRAapgF5jJKXFpzhAWkRljAXWLV2pmsIDaLgKrE3MsvwOK8ArYS E+9dYoKwBSV+TL4HFmcW0JJYv/M4E4QtL7F5zVtmkPkSAuoSj/7qgoRFBPQk+j79gioXkdj3 4h3jBEaBWUgmzUIyaRaSSbOQtCxgZFnFKJpakFxQnJSea6RXnJhbXJqXrpecn7uJERyTz6R3 MK5qsDjEKMDBqMTDy5CvGCjEmlhWXJl7iFGCg1lJhHeTCFCINyWxsiq1KD++qDQntfgQYzLQ oxOZpUST84HpIq8k3tDYxMzI0sjMwsjE3Jw0YSVxXsZTTwKEBNITS1KzU1MLUotgtjBxcEo1 MFbdtFr4LLvz+SYHp7XNC0+6df3TnbZOrI01aerC3+YCjqeqDn45e9mSrWC1cUaFT56/8rtr bBPNmVUdHpz3XKeUw2lundwgc0Ay6ppYx+Ja1u0Pl750jJfgVRB0a+O8dvF4IH8o6zkZjbYr p/tfFSXutT+b7fGU3ebpuyDTTsEJfbf3HN29S4mlOCPRUIu5qDgRAOYFwfINAwAA DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-fbdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-fbdev@vger.kernel.org of_find_node_by_name() returns a node pointer with refcount incremented, use of_node_put() on it when done. of_find_node_by_name() will call of_node_put() against the node pass to from parameter, thus we also need to call of_node_get(from) before calling of_find_node_by_name(). Signed-off-by: Jingoo Han --- drivers/video/exynos/exynos_dp_core.c | 19 +++++++++++++------ 1 files changed, 13 insertions(+), 6 deletions(-) diff --git a/drivers/video/exynos/exynos_dp_core.c b/drivers/video/exynos/exynos_dp_core.c index 2ed9776..c7374c0 100644 --- a/drivers/video/exynos/exynos_dp_core.c +++ b/drivers/video/exynos/exynos_dp_core.c @@ -965,10 +965,11 @@ static struct exynos_dp_platdata *exynos_dp_dt_parse_pdata(struct device *dev) static int exynos_dp_dt_parse_phydata(struct exynos_dp_device *dp) { - struct device_node *dp_phy_node; + struct device_node *dp_phy_node = of_node_get(dp->dev->of_node); u32 phy_base; + int ret = 0; - dp_phy_node = of_find_node_by_name(dp->dev->of_node, "dptx-phy"); + dp_phy_node = of_find_node_by_name(dp_phy_node, "dptx-phy"); if (!dp_phy_node) { dev_err(dp->dev, "could not find dptx-phy node\n"); return -ENODEV; @@ -976,22 +977,28 @@ static int exynos_dp_dt_parse_phydata(struct exynos_dp_device *dp) if (of_property_read_u32(dp_phy_node, "reg", &phy_base)) { dev_err(dp->dev, "faild to get reg for dptx-phy\n"); - return -EINVAL; + ret = -EINVAL; + goto err; } if (of_property_read_u32(dp_phy_node, "samsung,enable-mask", &dp->enable_mask)) { dev_err(dp->dev, "faild to get enable-mask for dptx-phy\n"); - return -EINVAL; + ret = -EINVAL; + goto err; } dp->phy_addr = ioremap(phy_base, SZ_4); if (!dp->phy_addr) { dev_err(dp->dev, "failed to ioremap dp-phy\n"); - return -ENOMEM; + ret = -ENOMEM; + goto err; } - return 0; +err: + of_node_put(dp_phy_node); + + return ret; } static void exynos_dp_phy_init(struct exynos_dp_device *dp)