--- /dev/null
+From fc1156c0b0f7ad45ec03d919866349eeca2bf18c Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Mon, 13 Feb 2012 15:04:06 +0100
+Subject: ALSA: hda - Fix initialization of secondary capture source on VT1705
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit fc1156c0b0f7ad45ec03d919866349eeca2bf18c upstream.
+
+VT1705 codec has two ADCs where the secondary ADC has no MUX but only
+a fixed connection to the mic pin. This confused the driver and it
+tries always overriding the input-source selection by assumption of
+the existing MUX for the secondary ADC, resulted in resetting the
+input-source at each time PM (including power-saving) occurs.
+
+The fix is simply to check the existence of MUX for secondary ADCs in
+the initialization code.
+
+Tested-by: Anisse Astier <anisse@astier.eu>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/hda/patch_via.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/sound/pci/hda/patch_via.c
++++ b/sound/pci/hda/patch_via.c
+@@ -665,6 +665,9 @@ static void via_auto_init_analog_input(s
+ /* init input-src */
+ for (i = 0; i < spec->num_adc_nids; i++) {
+ int adc_idx = spec->inputs[spec->cur_mux[i]].adc_idx;
++ /* secondary ADCs must have the unique MUX */
++ if (i > 0 && !spec->mux_nids[i])
++ break;
+ if (spec->mux_nids[adc_idx]) {
+ int mux_idx = spec->inputs[spec->cur_mux[i]].mux_idx;
+ snd_hda_codec_write(codec, spec->mux_nids[adc_idx], 0,
--- /dev/null
+From 02a237b24d57e2e2d5402c92549e9e792aa24359 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Mon, 13 Feb 2012 15:25:07 +0100
+Subject: ALSA: hda - Fix silent speaker output on Acer Aspire 6935
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 02a237b24d57e2e2d5402c92549e9e792aa24359 upstream.
+
+Since 3.2 kernel, the driver starts trying to assign the multi-io DACs
+before the speaker, thus it assigns DAC2/3 for multi-io and DAC4 for
+the speaker for a standard laptop setup like a HP, a speaker, a mic-in
+and a line-in. However, on Acer Aspire 6935, it seems that the
+speaker pin 0x14 must be connected with either DAC1 or 2; otherwise it
+results in silence by some reason, although the codec itself allows
+the routing to DAC3/4.
+
+As a workaround, the connection list of each pin is reduced to be
+mapped to either only DAC1/2 or DAC3/4, so that the compatible
+assignment as in kernel 3.1 is achieved.
+
+Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=42740
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/hda/patch_realtek.c | 23 +++++++++++++++++++++++
+ 1 file changed, 23 insertions(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -4213,8 +4213,26 @@ enum {
+ PINFIX_PB_M5210,
+ PINFIX_ACER_ASPIRE_7736,
+ PINFIX_ASUS_W90V,
++ ALC889_FIXUP_DAC_ROUTE,
+ };
+
++/* Fix the connection of some pins for ALC889:
++ * At least, Acer Aspire 5935 shows the connections to DAC3/4 don't
++ * work correctly (bko#42740)
++ */
++static void alc889_fixup_dac_route(struct hda_codec *codec,
++ const struct alc_fixup *fix, int action)
++{
++ if (action == ALC_FIXUP_ACT_PRE_PROBE) {
++ hda_nid_t conn1[2] = { 0x0c, 0x0d };
++ hda_nid_t conn2[2] = { 0x0e, 0x0f };
++ snd_hda_override_conn_list(codec, 0x14, 2, conn1);
++ snd_hda_override_conn_list(codec, 0x15, 2, conn1);
++ snd_hda_override_conn_list(codec, 0x18, 2, conn2);
++ snd_hda_override_conn_list(codec, 0x1a, 2, conn2);
++ }
++}
++
+ static const struct alc_fixup alc882_fixups[] = {
+ [PINFIX_ABIT_AW9D_MAX] = {
+ .type = ALC_FIXUP_PINS,
+@@ -4251,10 +4269,15 @@ static const struct alc_fixup alc882_fix
+ { }
+ }
+ },
++ [ALC889_FIXUP_DAC_ROUTE] = {
++ .type = ALC_FIXUP_FUNC,
++ .v.func = alc889_fixup_dac_route,
++ },
+ };
+
+ static const struct snd_pci_quirk alc882_fixup_tbl[] = {
+ SND_PCI_QUIRK(0x1025, 0x0155, "Packard-Bell M5120", PINFIX_PB_M5210),
++ SND_PCI_QUIRK(0x1025, 0x0259, "Acer Aspire 5935", ALC889_FIXUP_DAC_ROUTE),
+ SND_PCI_QUIRK(0x1043, 0x1873, "ASUS W90V", PINFIX_ASUS_W90V),
+ SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Y530", PINFIX_LENOVO_Y530),
+ SND_PCI_QUIRK(0x147b, 0x107a, "Abit AW9D-MAX", PINFIX_ABIT_AW9D_MAX),
--- /dev/null
+From 27c3afe6e1cf129faac90405121203962da08ff4 Mon Sep 17 00:00:00 2001
+From: Daniel T Chen <crimsun@ubuntu.com>
+Date: Mon, 13 Feb 2012 23:44:22 -0500
+Subject: ALSA: intel8x0: Fix default inaudible sound on Gateway M520
+
+From: Daniel T Chen <crimsun@ubuntu.com>
+
+commit 27c3afe6e1cf129faac90405121203962da08ff4 upstream.
+
+BugLink: https://bugs.launchpad.net/bugs/930842
+
+The reporter states that audio is inaudible by default without muting
+'External Amplifier'. Add a quirk to handle his SSID so that changing
+the control is not necessary.
+
+Reported-and-tested-by: Benjamin Carlson <elderbubba0810@gmail.com>
+Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/intel8x0.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+--- a/sound/pci/intel8x0.c
++++ b/sound/pci/intel8x0.c
+@@ -2102,6 +2102,12 @@ static struct ac97_quirk ac97_quirks[] _
+ },
+ {
+ .subvendor = 0x161f,
++ .subdevice = 0x202f,
++ .name = "Gateway M520",
++ .type = AC97_TUNE_INV_EAPD
++ },
++ {
++ .subvendor = 0x161f,
+ .subdevice = 0x203a,
+ .name = "Gateway 4525GZ", /* AD1981B */
+ .type = AC97_TUNE_INV_EAPD