[alsa-devel] [PATCH 2/12] ak4642: fix a memory leak if failed to initialise AK4642

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Thu Jul 15 07:53:45 CEST 2010


Dear Axel

Thanks about this patch

> --- a/sound/soc/codecs/ak4642.c
> +++ b/sound/soc/codecs/ak4642.c
> @@ -491,8 +491,10 @@ static int ak4642_i2c_probe(struct i2c_client *i2c,
>  	codec->control_data = i2c;
>  
>  	ret = ak4642_init(ak4642);
> -	if (ret < 0)
> +	if (ret < 0) {
>  		printk(KERN_ERR "failed to initialise AK4642\n");
> +		kfree(ak4642);
> +	}
>  
>  	return ret;
>  }

Indeed. this operation is needed when error case.

I think
i2c_set_clientdata(i2c, NULL); is needed here too.
(da7210 also)

And why ak4642's patch doesn't have
snd_soc_unregister_codec fix like da7210 ?
I think ak4642 have same issue

Best regards
--
Kuninori Morimoto
 


More information about the Alsa-devel mailing list