lkml.org 
[lkml]   [2012]   [Jan]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRE: [PATCH 1/15] sound/soc/mxs/mxs-saif.c: add missing iounmap
    On Fri, 13 Jan 2012, Dong Aisheng-B29396 wrote:

    >> -----Original Message-----
    >> From: linux-kernel-owner@vger.kernel.org [mailto:linux-kernel-
    >> owner@vger.kernel.org] On Behalf Of Julia Lawall
    >> Sent: Thursday, January 12, 2012 5:55 PM
    >> To: Liam Girdwood
    >> Cc: kernel-janitors@vger.kernel.org; Mark Brown; Jaroslav Kysela; Takashi Iwai;
    >> alsa-devel@alsa-project.org; linux-kernel@vger.kernel.org
    >> Subject: [PATCH 1/15] sound/soc/mxs/mxs-saif.c: add missing iounmap
    >>
    >> From: Julia Lawall <Julia.Lawall@lip6.fr>
    >>
    >> 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@lip6.fr>
    >>
    >> ---
    >> 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.

    Thanks for the suggestions. I will fix it up with the devm_ solution.

    julia


    \
     
     \ /
      Last update: 2012-01-13 07:35    [W:0.025 / U:0.088 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site