From patchwork Thu Sep 8 15:48:33 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H. Nikolaus Schaller" X-Patchwork-Id: 36977 X-Patchwork-Delegate: laurent.pinchart@ideasonboard.com Received: from mail.tu-berlin.de ([130.149.7.33]) by www.linuxtv.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bi1f4-0005f0-55; Thu, 08 Sep 2016 15:54:46 +0000 X-tubIT-Incoming-IP: 209.132.180.67 Received: from vger.kernel.org ([209.132.180.67]) by mail.tu-berlin.de (exim-4.84_2/mailfrontend-7) with esmtp id 1bi1f1-0002uT-3C; Thu, 08 Sep 2016 17:54:45 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933133AbcIHPym (ORCPT + 1 other); Thu, 8 Sep 2016 11:54:42 -0400 Received: from mo4-p00-ob.smtp.rzone.de ([81.169.146.163]:20229 "EHLO mo4-p00-ob.smtp.rzone.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932299AbcIHPyl (ORCPT ); Thu, 8 Sep 2016 11:54:41 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1473350077; l=2973; s=domk; d=goldelico.com; h=Date:Subject:Cc:To:From; bh=/EX+zZ94HA94MhBcY81HEw/Ldn8ZlHgATnqoq0GIxIA=; b=SYdyyRMypw1Ols2Y5KB0cjyuHN3xrv1jSWpw2BbVk4Mbl2T+R3rmLCNYQsFdADFoDYa MD4jgy0tEOUO7m5RrUJFPMUEDcobefNKkx+NDZmgOjForMbWjmzWOrnrMgZac1lmRGVEz Pv20gJ6rDQTv8P9NGf0k5zvxS/mI8OCVfz4= X-RZG-AUTH: :JGIXVUS7cutRB/49FwqZ7WcecEarQROEYabkiUo6mSAGQ+qKIDgoJYT2 X-RZG-CLASS-ID: mo00 Received: from localhost.localdomain (p57AE0647.dip0.t-ipconnect.de [87.174.6.71]) by smtp.strato.de (RZmta 39.1 DYNA|AUTH) with ESMTPA id f090e3s88FmXBkH; Thu, 8 Sep 2016 17:48:33 +0200 (CEST) From: "H. Nikolaus Schaller" To: Laurent Pinchart , Mauro Carvalho Chehab Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, Javier Martinez Canillas , arnd@arndb.de, hans.verkuil@cisco.com, tony@atomide.com, letux-kernel@openphoenux.org, "H. Nikolaus Schaller" Subject: [PATCH] [media] omap3isp: don't call of_node_put Date: Thu, 8 Sep 2016 17:48:33 +0200 Message-Id: X-Mailer: git-send-email 2.7.3 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-PMX-Version: 6.0.0.2142326, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2016.9.8.154516 X-PMX-Spam: Gauge=IIIIIIIII, Probability=9%, Report=' MULTIPLE_RCPTS 0.1, RCVD_FROM_IP_DATE 0.1, HTML_00_01 0.05, HTML_00_10 0.05, BODY_SIZE_3000_3999 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_7000_LESS 0, DKIM_SIGNATURE 0, FROM_NAME_PHRASE 0, LEGITIMATE_NEGATE 0, LEGITIMATE_SIGNS 0, MULTIPLE_REAL_RCPTS 0, NO_URI_HTTPS 0, SINGLE_URI_IN_BODY 0, URI_ENDS_IN_HTML 0, __ANY_URI 0, __CC_NAME 0, __CC_NAME_DIFF_FROM_ACC 0, __CC_REAL_NAMES 0, __CP_URI_IN_BODY 0, __FRAUD_CONTACT_NAME 0, __FROM_DOMAIN_IN_ANY_CC2 0, __FROM_DOMAIN_IN_RCPT 0, __HAS_CC_HDR 0, __HAS_FROM 0, __HAS_MSGID 0, __HAS_X_MAILER 0, __HAS_X_MAILING_LIST 0, __MIME_TEXT_ONLY 0, __MULTIPLE_RCPTS_CC_X2 0, __SANE_MSGID 0, __SINGLE_URI_TEXT 0, __STOCK_PHRASE_24 0, __TO_MALFORMED_2 0, __TO_NAME 0, __TO_NAME_DIFF_FROM_ACC 0, __TO_REAL_NAMES 0, __URI_IN_BODY 0, __URI_NO_WWW 0, __URI_NS , __URI_WITH_PATH 0' of_node_put() has already been called inside of_graph_get_next_endpoint(). Otherwise we may get warnings like [ 10.118286] omap3isp 480bc000.isp: parsing endpoint /ocp/isp@480bc000/ports/port@0/endpoint, interface 0 [ 10.118499] ERROR: Bad of_node_put() on /ocp/isp@480bc000/ports/port@0/endpoint [ 10.118499] CPU: 0 PID: 968 Comm: udevd Not tainted 4.7.0-rc4-letux+ #376 [ 10.118530] Hardware name: Generic OMAP36xx (Flattened Device Tree) [ 10.118560] [] (unwind_backtrace) from [] (show_stack+0x10/0x14) [ 10.118591] [] (show_stack) from [] (dump_stack+0x98/0xd0) [ 10.118591] [] (dump_stack) from [] (kobject_release+0x60/0x74) [ 10.118621] [] (kobject_release) from [] (__of_get_next_child+0x40/0x48) [ 10.118652] [] (__of_get_next_child) from [] (of_get_next_child+0x28/0x44) [ 10.118652] [] (of_get_next_child) from [] (of_graph_get_next_endpoint+0xe4/0x124) [ 10.118804] [] (of_graph_get_next_endpoint) from [] (isp_probe+0xdc/0xd80 [omap3_isp]) [ 10.118896] [] (isp_probe [omap3_isp]) from [] (platform_drv_probe+0x50/0xa0) [ 10.118927] [] (platform_drv_probe) from [] (driver_probe_device+0x134/0x29c) [ 10.118957] [] (driver_probe_device) from [] (__driver_attach+0x88/0xac) [ 10.118957] [] (__driver_attach) from [] (bus_for_each_dev+0x6c/0x90) [ 10.118957] [] (bus_for_each_dev) from [] (bus_add_driver+0xcc/0x1e8) [ 10.118988] [] (bus_add_driver) from [] (driver_register+0xac/0xf4) [ 10.118988] [] (driver_register) from [] (do_one_initcall+0xac/0x154) [ 10.119018] [] (do_one_initcall) from [] (do_init_module+0x58/0x39c) [ 10.119049] [] (do_init_module) from [] (load_module+0xe5c/0x1004) [ 10.119049] [] (load_module) from [] (SyS_finit_module+0x88/0x90) [ 10.119079] [] (SyS_finit_module) from [] (ret_fast_syscall+0x0/0x1c) Signed-off-by: H. Nikolaus Schaller --- drivers/media/platform/omap3isp/isp.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/media/platform/omap3isp/isp.c b/drivers/media/platform/omap3isp/isp.c index 5d54e2c..6e2624e 100644 --- a/drivers/media/platform/omap3isp/isp.c +++ b/drivers/media/platform/omap3isp/isp.c @@ -2114,7 +2114,6 @@ static int isp_of_parse_nodes(struct device *dev, isd = devm_kzalloc(dev, sizeof(*isd), GFP_KERNEL); if (!isd) { - of_node_put(node); return -ENOMEM; } @@ -2126,7 +2125,7 @@ static int isp_of_parse_nodes(struct device *dev, } isd->asd.match.of.node = of_graph_get_remote_port_parent(node); - of_node_put(node); + if (!isd->asd.match.of.node) { dev_warn(dev, "bad remote port parent\n"); return -EINVAL;