]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.13-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 4 Feb 2014 18:03:37 +0000 (10:03 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 4 Feb 2014 18:03:37 +0000 (10:03 -0800)
added patches:
alsa-hda-don-t-set-indep_hp-flag-for-old-ad-codecs.patch

queue-3.13/alsa-hda-don-t-set-indep_hp-flag-for-old-ad-codecs.patch [new file with mode: 0644]
queue-3.13/series

diff --git a/queue-3.13/alsa-hda-don-t-set-indep_hp-flag-for-old-ad-codecs.patch b/queue-3.13/alsa-hda-don-t-set-indep_hp-flag-for-old-ad-codecs.patch
new file mode 100644 (file)
index 0000000..af4b151
--- /dev/null
@@ -0,0 +1,95 @@
+From cbd209f41ea5f39394de5c1fe2dd9aa54a9c5744 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Mon, 13 Jan 2014 12:40:07 +0100
+Subject: ALSA: hda - Don't set indep_hp flag for old AD codecs
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit cbd209f41ea5f39394de5c1fe2dd9aa54a9c5744 upstream.
+
+Some old AD codecs don't like the independent HP handling, either it
+contains a single DAC (AD1981) or it mandates the mixer routing
+(AD1986A).  This patch removes the indep_hp flag for such codecs.
+
+Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=68081
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/hda/patch_analog.c |   16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+--- a/sound/pci/hda/patch_analog.c
++++ b/sound/pci/hda/patch_analog.c
+@@ -185,7 +185,7 @@ static const struct hda_codec_ops ad198x
+ };
+-static int ad198x_parse_auto_config(struct hda_codec *codec)
++static int ad198x_parse_auto_config(struct hda_codec *codec, bool indep_hp)
+ {
+       struct ad198x_spec *spec = codec->spec;
+       struct auto_pin_cfg *cfg = &spec->gen.autocfg;
+@@ -195,7 +195,7 @@ static int ad198x_parse_auto_config(stru
+       codec->no_trigger_sense = 1;
+       codec->no_sticky_stream = 1;
+-      spec->gen.indep_hp = 1;
++      spec->gen.indep_hp = indep_hp;
+       err = snd_hda_parse_pin_defcfg(codec, cfg, NULL, 0);
+       if (err < 0)
+@@ -378,7 +378,7 @@ static int patch_ad1986a(struct hda_code
+                          ad1986a_fixups);
+       snd_hda_apply_fixup(codec, HDA_FIXUP_ACT_PRE_PROBE);
+-      err = ad198x_parse_auto_config(codec);
++      err = ad198x_parse_auto_config(codec, false);
+       if (err < 0) {
+               snd_hda_gen_free(codec);
+               return err;
+@@ -480,7 +480,7 @@ static int patch_ad1983(struct hda_codec
+       spec->gen.beep_nid = 0x10;
+       set_beep_amp(spec, 0x10, 0, HDA_OUTPUT);
+-      err = ad198x_parse_auto_config(codec);
++      err = ad198x_parse_auto_config(codec, false);
+       if (err < 0)
+               goto error;
+       err = ad1983_add_spdif_mux_ctl(codec);
+@@ -567,7 +567,7 @@ static int patch_ad1981(struct hda_codec
+       snd_hda_pick_fixup(codec, NULL, ad1981_fixup_tbl, ad1981_fixups);
+       snd_hda_apply_fixup(codec, HDA_FIXUP_ACT_PRE_PROBE);
+-      err = ad198x_parse_auto_config(codec);
++      err = ad198x_parse_auto_config(codec, false);
+       if (err < 0)
+               goto error;
+       err = ad1983_add_spdif_mux_ctl(codec);
+@@ -893,7 +893,7 @@ static int patch_ad1988(struct hda_codec
+       snd_hda_pick_fixup(codec, ad1988_fixup_models, NULL, ad1988_fixups);
+       snd_hda_apply_fixup(codec, HDA_FIXUP_ACT_PRE_PROBE);
+-      err = ad198x_parse_auto_config(codec);
++      err = ad198x_parse_auto_config(codec, true);
+       if (err < 0)
+               goto error;
+       err = ad1988_add_spdif_mux_ctl(codec);
+@@ -1070,7 +1070,7 @@ static int patch_ad1884(struct hda_codec
+       snd_hda_pick_fixup(codec, NULL, ad1884_fixup_tbl, ad1884_fixups);
+       snd_hda_apply_fixup(codec, HDA_FIXUP_ACT_PRE_PROBE);
+-      err = ad198x_parse_auto_config(codec);
++      err = ad198x_parse_auto_config(codec, true);
+       if (err < 0)
+               goto error;
+       err = ad1983_add_spdif_mux_ctl(codec);
+@@ -1112,7 +1112,7 @@ static int patch_ad1882(struct hda_codec
+       spec->gen.mixer_merge_nid = 0x21;
+       spec->gen.beep_nid = 0x10;
+       set_beep_amp(spec, 0x10, 0, HDA_OUTPUT);
+-      err = ad198x_parse_auto_config(codec);
++      err = ad198x_parse_auto_config(codec, true);
+       if (err < 0)
+               goto error;
+       err = ad1988_add_spdif_mux_ctl(codec);
index ac5e977ba8ce42d9f430d5291c11300fff3ba7c7..0a3d6bd7a6e763f9424fc3e257f5d428643d740c 100644 (file)
@@ -125,3 +125,4 @@ parisc-sti_console-prefer-linux-fonts-over-built-in-rom-fonts.patch
 parisc-fix-cache-flushing.patch
 kvm-ppc-book3s-hv-use-xics_wake_cpu-only-when-defined.patch
 kvm-ppc-e500-fix-bad-address-type-in-deliver_tlb_misss.patch
+alsa-hda-don-t-set-indep_hp-flag-for-old-ad-codecs.patch