aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_via.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/hda/patch_via.c')
-rw-r--r--sound/pci/hda/patch_via.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_via.c b/sound/pci/hda/patch_via.c
index eae466a6a98..72a2f60b087 100644
--- a/sound/pci/hda/patch_via.c
+++ b/sound/pci/hda/patch_via.c
@@ -118,6 +118,8 @@ enum {
118}; 118};
119 119
120struct via_spec { 120struct via_spec {
121 struct hda_gen_spec gen;
122
121 /* codec parameterization */ 123 /* codec parameterization */
122 const struct snd_kcontrol_new *mixers[6]; 124 const struct snd_kcontrol_new *mixers[6];
123 unsigned int num_mixers; 125 unsigned int num_mixers;
@@ -246,6 +248,7 @@ static struct via_spec * via_new_spec(struct hda_codec *codec)
246 /* VT1708BCE & VT1708S are almost same */ 248 /* VT1708BCE & VT1708S are almost same */
247 if (spec->codec_type == VT1708BCE) 249 if (spec->codec_type == VT1708BCE)
248 spec->codec_type = VT1708S; 250 spec->codec_type = VT1708S;
251 snd_hda_gen_init(&spec->gen);
249 return spec; 252 return spec;
250} 253}
251 254
@@ -1627,6 +1630,7 @@ static void via_free(struct hda_codec *codec)
1627 vt1708_stop_hp_work(spec); 1630 vt1708_stop_hp_work(spec);
1628 kfree(spec->bind_cap_vol); 1631 kfree(spec->bind_cap_vol);
1629 kfree(spec->bind_cap_sw); 1632 kfree(spec->bind_cap_sw);
1633 snd_hda_gen_free(&spec->gen);
1630 kfree(spec); 1634 kfree(spec);
1631} 1635}
1632 1636