On Wed, Mar 24, 2010 at 02:59:08PM +1030, Graham Gower wrote: > snd_soc_new_ac97_codec() allocates for codec->ac97, snd_soc_new_pcms() > then sets the platform_data. However, snd_ac97_mixer() overwrites > codec->ac97 with its own allocated struct snd_ac97. Please remember to CC maintainers on patches, this helps avoid patches getting lost in mailing lists - the procedure in SubmittingPatches should generally be followed. > @@ -118,11 +120,21 @@ static int ac97_soc_probe(struct platform_device *pdev) > if (ret < 0) > goto bus_err; > > + /* free the ac97 here so that we don't leak it in snd_ac97_mixer */ > + snd_soc_free_ac97_codec(codec); > + Like Liam says this seems wrong - why would we have allocated this early on in the probe() only to free it later? Note also that this code needs to work with both ASoC-native AC97 drivers and the ac97.c bodge. _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel