diff options
author | Takashi Iwai <tiwai@suse.de> | 2012-10-10 08:53:06 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2012-10-10 09:24:08 +0200 |
commit | b2cbf3b30e6d1237f8864c4c9123f2a68cdfedf6 (patch) | |
tree | 8fe1d7bf1cd26e8bb103c7af753ed9139ea48f75 /sound | |
parent | ALSA: hda - Fix memory leaks at error path in patch_cirrus.c (diff) | |
download | linux-b2cbf3b30e6d1237f8864c4c9123f2a68cdfedf6.tar.xz linux-b2cbf3b30e6d1237f8864c4c9123f2a68cdfedf6.zip |
ALSA: hda/cirrus - Add missing init/free of hda_gen_spec
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>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/hda/patch_cirrus.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_cirrus.c b/sound/pci/hda/patch_cirrus.c index f441f53f0306..61a71131711c 100644 --- a/sound/pci/hda/patch_cirrus.c +++ b/sound/pci/hda/patch_cirrus.c @@ -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; |