Re: [PATCH 2/12] ak4642: fix a memory leak if failed to initialiseAK4642

From: Kuninori Morimoto
Date: Thu Jul 15 2010 - 02:16:57 EST



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

--
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/