aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorHerton Ronaldo Krzesinski <herton.krzesinski@canonical.com>2012-09-27 09:38:14 -0400
committerTakashi Iwai <tiwai@suse.de>2012-10-06 10:47:24 -0400
commit9f720bb9409ea5923361fbd3fdbc505ca36cf012 (patch)
tree079417db1dd1407f526f7db84abcab967c37f8fe /sound
parente4db0952e542090c605fd41d31d761f1b4624f4a (diff)
ALSA: hda/realtek - Fix detection of ALC271X codec
In commit af741c1 ("ALSA: hda/realtek - Call alc_auto_parse_customize_define() always after fixup"), alc_auto_parse_customize_define was moved after detection of ALC271X. The problem is that detection of ALC271X relies on spec->cdefine.platform_type, and it's set on alc_auto_parse_customize_define. Move the alc_auto_parse_customize_define and its required fixup setup before the block doing the ALC271X and other codec setup. BugLink: https://bugs.launchpad.net/bugs/1006690 Signed-off-by: Herton Ronaldo Krzesinski <herton.krzesinski@canonical.com> Reviewed-by: David Henningsson <david.henningsson@canonical.com> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/hda/patch_realtek.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 84770297873..8b00d219380 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -6307,6 +6307,12 @@ static int patch_alc269(struct hda_codec *codec)
6307 6307
6308 spec = codec->spec; 6308 spec = codec->spec;
6309 6309
6310 alc_pick_fixup(codec, alc269_fixup_models,
6311 alc269_fixup_tbl, alc269_fixups);
6312 alc_apply_fixup(codec, ALC_FIXUP_ACT_PRE_PROBE);
6313
6314 alc_auto_parse_customize_define(codec);
6315
6310 if (codec->vendor_id == 0x10ec0269) { 6316 if (codec->vendor_id == 0x10ec0269) {
6311 spec->codec_variant = ALC269_TYPE_ALC269VA; 6317 spec->codec_variant = ALC269_TYPE_ALC269VA;
6312 switch (alc_get_coef0(codec) & 0x00f0) { 6318 switch (alc_get_coef0(codec) & 0x00f0) {
@@ -6334,12 +6340,6 @@ static int patch_alc269(struct hda_codec *codec)
6334 alc269_fill_coef(codec); 6340 alc269_fill_coef(codec);
6335 } 6341 }
6336 6342
6337 alc_pick_fixup(codec, alc269_fixup_models,
6338 alc269_fixup_tbl, alc269_fixups);
6339 alc_apply_fixup(codec, ALC_FIXUP_ACT_PRE_PROBE);
6340
6341 alc_auto_parse_customize_define(codec);
6342
6343 /* automatic parse from the BIOS config */ 6343 /* automatic parse from the BIOS config */
6344 err = alc269_parse_auto_config(codec); 6344 err = alc269_parse_auto_config(codec);
6345 if (err < 0) 6345 if (err < 0)