From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mukesh Ojha Subject: Re: [PATCH 07/12] drm: omapdrm: add missing of_node_put after of_device_is_available Date: Mon, 1 Apr 2019 18:28:23 +0530 Message-ID: <572cbf04-d97a-9807-75b5-2cf6f752667b@codeaurora.org> References: <1550928043-14889-1-git-send-email-Julia.Lawall@lip6.fr> <1550928043-14889-8-git-send-email-Julia.Lawall@lip6.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1550928043-14889-8-git-send-email-Julia.Lawall@lip6.fr> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: Julia Lawall , Tomi Valkeinen Cc: kernel-janitors@vger.kernel.org, David Airlie , Daniel Vetter , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org On 2/23/2019 6:50 PM, Julia Lawall wrote: > Add an of_node_put when a tested device node is not available. > > The semantic patch that fixes this problem is as follows > (http://coccinelle.lip6.fr): > > // > @@ > identifier f; > local idexpression e; > expression x; > @@ > > e = f(...); > ... when != of_node_put(e) > when != x = e > when != e = x > when any > if (<+...of_device_is_available(e)...+>) { > ... when != of_node_put(e) > ( > return e; > | > + of_node_put(e); > return ...; > ) > } > // > > Fixes: f2dd36ac9974c ("OMAPDSS: move 'compatible' converter to omapdss driver") > Signed-off-by: Julia Lawall Reviewed-by: Mukesh Ojha Cheers, -Mukesh > > --- > drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff -u -p a/drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c b/drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c > --- a/drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c > +++ b/drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c > @@ -192,8 +192,10 @@ static int __init omapdss_boot_init(void > > dss = of_find_matching_node(NULL, omapdss_of_match); > > - if (dss == NULL || !of_device_is_available(dss)) > + if (dss == NULL || !of_device_is_available(dss)) { > + of_node_put(dss); > return 0; > + } > > omapdss_walk_device(dss, true); > >