> -----Original Message----- > From: linux-kernel-owner@xxxxxxxxxxxxxxx [mailto:linux-kernel- > owner@xxxxxxxxxxxxxxx] On Behalf Of Julia Lawall > Sent: Thursday, January 12, 2012 5:55 PM > To: Liam Girdwood > Cc: kernel-janitors@xxxxxxxxxxxxxxx; Mark Brown; Jaroslav Kysela; Takashi Iwai; > alsa-devel@xxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx > Subject: [PATCH 1/15] sound/soc/mxs/mxs-saif.c: add missing iounmap > > From: Julia Lawall <Julia.Lawall@xxxxxxx> > > Add missing iounmap in error handling code, in a case where the function already > preforms iounmap on some other execution path. > > A simplified version of the semantic match that finds this problem is as > follows: (http://coccinelle.lip6.fr/) > > // <smpl> > @@ > expression e; > statement S,S1; > int ret; > @@ > e = \(ioremap\|ioremap_nocache\)(...) > ... when != iounmap(e) > if (<+...e...+>) S > ... when any > when != iounmap(e) > *if (...) > { ... when != iounmap(e) > return ...; } > ... when any > iounmap(e); > // </smpl> > > Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> > > --- > sound/soc/mxs/mxs-saif.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/sound/soc/mxs/mxs-saif.c b/sound/soc/mxs/mxs-saif.c index > 049e543..5ee0adb 100644 > --- a/sound/soc/mxs/mxs-saif.c > +++ b/sound/soc/mxs/mxs-saif.c > @@ -680,7 +680,7 @@ static int mxs_saif_probe(struct platform_device *pdev) > ret = -ENODEV; > dev_err(&pdev->dev, "failed to get dma resource: %d\n", > ret); > - goto failed_ioremap; > + goto failed_get_resource; > } > saif->dma_param.chan_num = dmares->start; > > @@ -739,6 +739,7 @@ failed_register: > failed_get_irq2: > free_irq(saif->irq, saif); > failed_get_irq1: > +failed_get_resource: There's already a 'failed_get_resource' there, wouldn't your change break The original code? BTW, I guess a better way is that you can submit a patch to change the driver To use devm_alloc_* and it's friend routines, then we do not need to fix Such things any more. Regards Dong Aisheng > iounmap(saif->base); > failed_ioremap: > release_mem_region(iores->start, resource_size(iores)); > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the > body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at > http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html