[alsa-devel] [PATCH 1/3] sound/soc/mxs/mxs-saif.c: keep pointer to resource so it can be freed

Dong Aisheng-B29396 B29396 at freescale.com
Tue Oct 18 15:01:05 CEST 2011


> -----Original Message-----
> From: Julia Lawall [mailto:julia at diku.dk]
> Sent: Tuesday, October 18, 2011 11:46 AM
> To: Liam Girdwood
> Cc: kernel-janitors at vger.kernel.org; Mark Brown; Jaroslav Kysela; Takashi
> Iwai; Dong Aisheng-B29396; Wolfram Sang; alsa-devel at alsa-project.org;
> linux-kernel at vger.kernel.org
> Subject: [PATCH 1/3] sound/soc/mxs/mxs-saif.c: keep pointer to resource
> so it can be freed
> 
> From: Julia Lawall <julia at diku.dk>
> 
> Add a new variable for storing resources accessed subsequent to the one
> accessed using request_mem_region, so the one accessed using
> request_mem_region can be released if needed.
> 
> The semantic match that finds this problem is as follows:
> (http://coccinelle.lip6.fr/)
> 
> // <smpl>
> @r@
> expression E, E1;
> identifier f;
> statement S1,S2,S3;
> @@
> 
> if (E == NULL)
> {
>   ... when != if (E == NULL || ...) S1 else S2
>       when != E = E1
> *E->f
>   ... when any
>   return ...;
> }
> else S3
> // </smpl>
> 
> Signed-off-by: Julia Lawall <julia at diku.dk>
> 
> ---
>  sound/soc/mxs/mxs-saif.c |    8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/sound/soc/mxs/mxs-saif.c b/sound/soc/mxs/mxs-saif.c index
> 401944c..e12ff78 100644
> --- a/sound/soc/mxs/mxs-saif.c
> +++ b/sound/soc/mxs/mxs-saif.c
> @@ -617,7 +617,7 @@ static irqreturn_t mxs_saif_irq(int irq, void *dev_id)
> 
>  static int mxs_saif_probe(struct platform_device *pdev)  {
> -	struct resource *res;
> +	struct resource *res, *res1;
How about naming iores and dmares?

>  	struct mxs_saif *saif;
>  	struct mxs_saif_platform_data *pdata;
>  	int ret = 0;
> @@ -676,14 +676,14 @@ static int mxs_saif_probe(struct platform_device
> *pdev)
>  		goto failed_ioremap;
>  	}
> 
> -	res = platform_get_resource(pdev, IORESOURCE_DMA, 0);
> -	if (!res) {
> +	res1 = platform_get_resource(pdev, IORESOURCE_DMA, 0);
> +	if (!res1) {
>  		ret = -ENODEV;
>  		dev_err(&pdev->dev, "failed to get dma resource: %d\n",
>  			ret);
>  		goto failed_ioremap;
>  	}
> -	saif->dma_param.chan_num = res->start;
> +	saif->dma_param.chan_num = res1->start;
> 
>  	saif->irq = platform_get_irq(pdev, 0);
>  	if (saif->irq < 0) {
> 

Regards
Dong Aisheng



More information about the Alsa-devel mailing list