ASoC: fixup oops in generic AC97 codec glue
authorManuel Lauss <manuel.lauss@googlemail.com>
Mon, 4 Jan 2010 15:29:49 +0000 (16:29 +0100)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Mon, 4 Jan 2010 18:30:01 +0000 (18:30 +0000)
Initialize the glue by calling snd_soc_new_ac97_codec() as is done
in other ASoC AC97 codecs.  Fixes an oops caused by dereferencing
uninitialized members in snd_soc_new_pcms().

Run-tested on Au1250.

Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/codecs/ac97.c

index 69bd0acc81c8c45a26adc0cc99d2c32f2289e21a..a1bbe16b7f9613e3129ebdb8819125c2b7c7463a 100644 (file)
@@ -102,6 +102,12 @@ static int ac97_soc_probe(struct platform_device *pdev)
        INIT_LIST_HEAD(&codec->dapm_widgets);
        INIT_LIST_HEAD(&codec->dapm_paths);
 
+       ret = snd_soc_new_ac97_codec(codec, &soc_ac97_ops, 0);
+       if (ret < 0) {
+               printk(KERN_ERR "ASoC: failed to init gen ac97 glue\n");
+               goto err;
+       }
+
        /* register pcms */
        ret = snd_soc_new_pcms(socdev, SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1);
        if (ret < 0)