ALSA: hda/cirrus - Add missing init/free of hda_gen_spec
authorTakashi Iwai <tiwai@suse.de>
Wed, 10 Oct 2012 06:53:06 +0000 (08:53 +0200)
committerTakashi Iwai <tiwai@suse.de>
Wed, 10 Oct 2012 07:24:08 +0000 (09:24 +0200)
In the transition to the generic fixup code, the call of
snd_hda_gen_init() and snd_hda_gen_free() was missing.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_cirrus.c

index f441f53..61a7113 100644 (file)
@@ -1243,6 +1243,7 @@ static void cs_free(struct hda_codec *codec)
        struct cs_spec *spec = codec->spec;
        kfree(spec->capture_bind[0]);
        kfree(spec->capture_bind[1]);
+       snd_hda_gen_free(&spec->gen);
        kfree(codec->spec);
 }
 
@@ -1426,6 +1427,7 @@ static int patch_cs420x(struct hda_codec *codec)
        if (!spec)
                return -ENOMEM;
        codec->spec = spec;
+       snd_hda_gen_init(&spec->gen);
 
        spec->vendor_nid = CS420X_VENDOR_NID;
 
@@ -1964,6 +1966,7 @@ static int patch_cs4210(struct hda_codec *codec)
        if (!spec)
                return -ENOMEM;
        codec->spec = spec;
+       snd_hda_gen_init(&spec->gen);
 
        spec->vendor_nid = CS4210_VENDOR_NID;
 
@@ -2003,6 +2006,7 @@ static int patch_cs4213(struct hda_codec *codec)
        if (!spec)
                return -ENOMEM;
        codec->spec = spec;
+       snd_hda_gen_init(&spec->gen);
 
        spec->vendor_nid = CS4213_VENDOR_NID;