From mboxrd@z Thu Jan 1 00:00:00 1970 From: Liam Girdwood Subject: Re: [PATCH] sound/soc/fsl/fsl_dma.c: add missing of_node_put Date: Mon, 22 Aug 2011 11:18:42 +0100 Message-ID: <4E522D02.9020809@ti.com> References: <1313825025-17590-1-git-send-email-julia@diku.dk> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1313825025-17590-1-git-send-email-julia@diku.dk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: alsa-devel-bounces@alsa-project.org Errors-To: alsa-devel-bounces@alsa-project.org To: Julia Lawall Cc: "alsa-devel@alsa-project.org" , Takashi Iwai , "devicetree-discuss@lists.ozlabs.org" , Mark Brown , "kernel-janitors@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Grant Likely , "linuxppc-dev@lists.ozlabs.org" , Timur Tabi List-Id: devicetree@vger.kernel.org On 20/08/11 08:23, Julia Lawall wrote: > From: Julia Lawall > > of_parse_phandle increments the reference count of np, so this should be > decremented before trying the next possibility. > > The semantic match that finds this problem is as follows: > (http://coccinelle.lip6.fr/) > > // > @@ > expression e,e1,e2; > @@ > > *e = of_parse_phandle(...) > ... when != of_node_put(e) > when != true e == NULL > when != e2 = e > e = e1 > // > > Signed-off-by: Julia Lawall > > --- > sound/soc/fsl/fsl_dma.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/sound/soc/fsl/fsl_dma.c b/sound/soc/fsl/fsl_dma.c > index 0efc04a..b33271b 100644 > --- a/sound/soc/fsl/fsl_dma.c > +++ b/sound/soc/fsl/fsl_dma.c > @@ -880,10 +880,12 @@ static struct device_node *find_ssi_node(struct device_node *dma_channel_np) > np = of_parse_phandle(ssi_np, "fsl,playback-dma", 0); > if (np == dma_channel_np) > return ssi_np; > + of_node_put(np); > > np = of_parse_phandle(ssi_np, "fsl,capture-dma", 0); > if (np == dma_channel_np) > return ssi_np; > + of_node_put(np); > } > > return NULL; > Acked-by: Liam Girdwood