]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.1-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 16 Jul 2015 17:42:56 +0000 (10:42 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 16 Jul 2015 17:42:56 +0000 (10:42 -0700)
added patches:
alsa-hda-add-a-fixup-for-dell-e7450.patch
alsa-hda-add-headset-support-to-acer-aspire-v5.patch
alsa-hda-disable-widget-power-save-for-via-codecs.patch
alsa-hda-fix-dock-headphone-on-thinkpad-x250-seen-as-a-line-out.patch
alsa-hda-fix-the-dock-headphone-output-on-fujitsu-lifebook-e780.patch
alsa-hda-restore-the-mic-fixup-for-some-dell-machines.patch
alsa-hda-set-proper-caps-for-newer-amd-hda-audio-in-kb-kv.patch
alsa-pcm-fix-pcm_class-sysfs-output.patch
disable-write-buffering-on-toshiba-topic95.patch
gpio-crystalcove-set-irqchip_skip_set_wake-for-the-irqchip.patch
gpio-rcar-check-for-irq_set_irq_wake-failures.patch
ipr-increase-default-adapter-init-stage-change-timeout.patch
rcu-correctly-handle-non-empty-tiny-rcu-callback-list-with-none-ready.patch

14 files changed:
queue-4.1/alsa-hda-add-a-fixup-for-dell-e7450.patch [new file with mode: 0644]
queue-4.1/alsa-hda-add-headset-support-to-acer-aspire-v5.patch [new file with mode: 0644]
queue-4.1/alsa-hda-disable-widget-power-save-for-via-codecs.patch [new file with mode: 0644]
queue-4.1/alsa-hda-fix-dock-headphone-on-thinkpad-x250-seen-as-a-line-out.patch [new file with mode: 0644]
queue-4.1/alsa-hda-fix-the-dock-headphone-output-on-fujitsu-lifebook-e780.patch [new file with mode: 0644]
queue-4.1/alsa-hda-restore-the-mic-fixup-for-some-dell-machines.patch [new file with mode: 0644]
queue-4.1/alsa-hda-set-proper-caps-for-newer-amd-hda-audio-in-kb-kv.patch [new file with mode: 0644]
queue-4.1/alsa-pcm-fix-pcm_class-sysfs-output.patch [new file with mode: 0644]
queue-4.1/disable-write-buffering-on-toshiba-topic95.patch [new file with mode: 0644]
queue-4.1/gpio-crystalcove-set-irqchip_skip_set_wake-for-the-irqchip.patch [new file with mode: 0644]
queue-4.1/gpio-rcar-check-for-irq_set_irq_wake-failures.patch [new file with mode: 0644]
queue-4.1/ipr-increase-default-adapter-init-stage-change-timeout.patch [new file with mode: 0644]
queue-4.1/rcu-correctly-handle-non-empty-tiny-rcu-callback-list-with-none-ready.patch [new file with mode: 0644]
queue-4.1/series

diff --git a/queue-4.1/alsa-hda-add-a-fixup-for-dell-e7450.patch b/queue-4.1/alsa-hda-add-a-fixup-for-dell-e7450.patch
new file mode 100644 (file)
index 0000000..00b1c30
--- /dev/null
@@ -0,0 +1,29 @@
+From 4275554dccdf0afac07b2b638ba7456095629558 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Mon, 29 Jun 2015 10:56:53 +0200
+Subject: ALSA: hda - Add a fixup for Dell E7450
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 4275554dccdf0afac07b2b638ba7456095629558 upstream.
+
+Dell E7450 [0128:062e] needs the same quirk as other E7xx models.
+
+Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=100571
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/hda/patch_realtek.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -5109,6 +5109,7 @@ static const struct snd_pci_quirk alc269
+       SND_PCI_QUIRK(0x1028, 0x05f6, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
+       SND_PCI_QUIRK(0x1028, 0x0615, "Dell Vostro 5470", ALC290_FIXUP_SUBWOOFER_HSJACK),
+       SND_PCI_QUIRK(0x1028, 0x0616, "Dell Vostro 5470", ALC290_FIXUP_SUBWOOFER_HSJACK),
++      SND_PCI_QUIRK(0x1028, 0x062e, "Dell Latitude E7450", ALC292_FIXUP_DELL_E7X),
+       SND_PCI_QUIRK(0x1028, 0x0638, "Dell Inspiron 5439", ALC290_FIXUP_MONO_SPEAKERS_HSJACK),
+       SND_PCI_QUIRK(0x1028, 0x064a, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),
+       SND_PCI_QUIRK(0x1028, 0x064b, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),
diff --git a/queue-4.1/alsa-hda-add-headset-support-to-acer-aspire-v5.patch b/queue-4.1/alsa-hda-add-headset-support-to-acer-aspire-v5.patch
new file mode 100644 (file)
index 0000000..1c368f8
--- /dev/null
@@ -0,0 +1,56 @@
+From 7819717b11346b8a5420b223b46600e394049c66 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Sat, 27 Jun 2015 10:21:13 +0200
+Subject: ALSA: hda - Add headset support to Acer Aspire V5
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 7819717b11346b8a5420b223b46600e394049c66 upstream.
+
+Acer Aspire V5 with ALC282 codec needs the similar quirk like Dell
+laptops to support the headset mic.  The headset mic pin is 0x19 and
+it's not exposed by BIOS, thus we need to fix the pincfg as well.
+
+Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=96201
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/hda/patch_realtek.c |   12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -4478,6 +4478,7 @@ enum {
+       ALC269_FIXUP_DELL3_MIC_NO_PRESENCE,
+       ALC269_FIXUP_HEADSET_MODE,
+       ALC269_FIXUP_HEADSET_MODE_NO_HP_MIC,
++      ALC269_FIXUP_ASPIRE_HEADSET_MIC,
+       ALC269_FIXUP_ASUS_X101_FUNC,
+       ALC269_FIXUP_ASUS_X101_VERB,
+       ALC269_FIXUP_ASUS_X101,
+@@ -4754,6 +4755,15 @@ static const struct hda_fixup alc269_fix
+               .type = HDA_FIXUP_FUNC,
+               .v.func = alc_fixup_headset_mode_no_hp_mic,
+       },
++      [ALC269_FIXUP_ASPIRE_HEADSET_MIC] = {
++              .type = HDA_FIXUP_PINS,
++              .v.pins = (const struct hda_pintbl[]) {
++                      { 0x19, 0x01a1913c }, /* headset mic w/o jack detect */
++                      { }
++              },
++              .chained = true,
++              .chain_id = ALC269_FIXUP_HEADSET_MODE,
++      },
+       [ALC286_FIXUP_SONY_MIC_NO_PRESENCE] = {
+               .type = HDA_FIXUP_PINS,
+               .v.pins = (const struct hda_pintbl[]) {
+@@ -5079,6 +5089,8 @@ static const struct snd_pci_quirk alc269
+       SND_PCI_QUIRK(0x1025, 0x029b, "Acer 1810TZ", ALC269_FIXUP_INV_DMIC),
+       SND_PCI_QUIRK(0x1025, 0x0349, "Acer AOD260", ALC269_FIXUP_INV_DMIC),
+       SND_PCI_QUIRK(0x1025, 0x047c, "Acer AC700", ALC269_FIXUP_ACER_AC700),
++      SND_PCI_QUIRK(0x1025, 0x072d, "Acer Aspire V5-571G", ALC269_FIXUP_ASPIRE_HEADSET_MIC),
++      SND_PCI_QUIRK(0x1025, 0x080d, "Acer Aspire V5-122P", ALC269_FIXUP_ASPIRE_HEADSET_MIC),
+       SND_PCI_QUIRK(0x1025, 0x0740, "Acer AO725", ALC271_FIXUP_HP_GATE_MIC_JACK),
+       SND_PCI_QUIRK(0x1025, 0x0742, "Acer AO756", ALC271_FIXUP_HP_GATE_MIC_JACK),
+       SND_PCI_QUIRK(0x1025, 0x0775, "Acer Aspire E1-572", ALC271_FIXUP_HP_GATE_MIC_JACK_E1_572),
diff --git a/queue-4.1/alsa-hda-disable-widget-power-save-for-via-codecs.patch b/queue-4.1/alsa-hda-disable-widget-power-save-for-via-codecs.patch
new file mode 100644 (file)
index 0000000..c2489a3
--- /dev/null
@@ -0,0 +1,50 @@
+From 735c75cf4d434862e38c01dcfb2ce8d2fcb9035f Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Thu, 25 Jun 2015 08:48:54 +0200
+Subject: ALSA: hda - Disable widget power-save for VIA codecs
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 735c75cf4d434862e38c01dcfb2ce8d2fcb9035f upstream.
+
+The widget power-save that was enabled in 4.1 kernel seems resulting
+in the silent output on VIA codecs by some reason.  Some widgets get
+wrong power states.
+
+As a quick fix, turn this flag off while keeping power_down_unused
+flag.  This will bring back to the state of 4.0.x.
+
+Fixes: 688b12cc3ca8 ('ALSA: hda - Use the new power control for VIA codecs')
+Reported-and-tested-by: Harald Dunkel <harri@afaics.de>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/hda/patch_via.c |    8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+--- a/sound/pci/hda/patch_via.c
++++ b/sound/pci/hda/patch_via.c
+@@ -238,7 +238,9 @@ static int via_pin_power_ctl_get(struct
+                                struct snd_ctl_elem_value *ucontrol)
+ {
+       struct hda_codec *codec = snd_kcontrol_chip(kcontrol);
+-      ucontrol->value.enumerated.item[0] = codec->power_save_node;
++      struct via_spec *spec = codec->spec;
++
++      ucontrol->value.enumerated.item[0] = spec->gen.power_down_unused;
+       return 0;
+ }
+@@ -249,9 +251,9 @@ static int via_pin_power_ctl_put(struct
+       struct via_spec *spec = codec->spec;
+       bool val = !!ucontrol->value.enumerated.item[0];
+-      if (val == codec->power_save_node)
++      if (val == spec->gen.power_down_unused)
+               return 0;
+-      codec->power_save_node = val;
++      /* codec->power_save_node = val; */ /* widget PM seems yet broken */
+       spec->gen.power_down_unused = val;
+       analog_low_current_mode(codec);
+       return 1;
diff --git a/queue-4.1/alsa-hda-fix-dock-headphone-on-thinkpad-x250-seen-as-a-line-out.patch b/queue-4.1/alsa-hda-fix-dock-headphone-on-thinkpad-x250-seen-as-a-line-out.patch
new file mode 100644 (file)
index 0000000..b30dd32
--- /dev/null
@@ -0,0 +1,46 @@
+From ec56af67a10a0d82b79027878a81fce08d002d50 Mon Sep 17 00:00:00 2001
+From: David Henningsson <david.henningsson@canonical.com>
+Date: Wed, 24 Jun 2015 10:46:33 +0200
+Subject: ALSA: hda - Fix Dock Headphone on Thinkpad X250 seen as a Line Out
+
+From: David Henningsson <david.henningsson@canonical.com>
+
+commit ec56af67a10a0d82b79027878a81fce08d002d50 upstream.
+
+Thinkpad X250, when attached to a dock, has two headphone outs but
+no line out. Make sure we don't try to turn this into one headphone
+and one line out (since that disables the headphone amp on the dock).
+
+Alsa-info at http://www.alsa-project.org/db/?f=36f8764e1d782397928feec715d0ef90dfddd4c1
+
+Signed-off-by: David Henningsson <david.henningsson@canonical.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/hda/patch_realtek.c |    7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -4505,6 +4505,7 @@ enum {
+       ALC255_FIXUP_HEADSET_MODE_NO_HP_MIC,
+       ALC293_FIXUP_DELL1_MIC_NO_PRESENCE,
+       ALC292_FIXUP_TPT440_DOCK,
++      ALC292_FIXUP_TPT440_DOCK2,
+       ALC283_FIXUP_BXBT2807_MIC,
+       ALC255_FIXUP_DELL_WMI_MIC_MUTE_LED,
+       ALC282_FIXUP_ASPIRE_V5_PINS,
+@@ -4953,6 +4954,12 @@ static const struct hda_fixup alc269_fix
+               .chain_id = ALC269_FIXUP_HEADSET_MODE
+       },
+       [ALC292_FIXUP_TPT440_DOCK] = {
++              .type = HDA_FIXUP_FUNC,
++              .v.func = alc269_fixup_pincfg_no_hp_to_lineout,
++              .chained = true,
++              .chain_id = ALC292_FIXUP_TPT440_DOCK2
++      },
++      [ALC292_FIXUP_TPT440_DOCK2] = {
+               .type = HDA_FIXUP_PINS,
+               .v.pins = (const struct hda_pintbl[]) {
+                       { 0x16, 0x21211010 }, /* dock headphone */
diff --git a/queue-4.1/alsa-hda-fix-the-dock-headphone-output-on-fujitsu-lifebook-e780.patch b/queue-4.1/alsa-hda-fix-the-dock-headphone-output-on-fujitsu-lifebook-e780.patch
new file mode 100644 (file)
index 0000000..fce0b83
--- /dev/null
@@ -0,0 +1,54 @@
+From 4df3fd1700abbb53bd874143dfd1f9ac9e7cbf4b Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Mon, 29 Jun 2015 08:38:02 +0200
+Subject: ALSA: hda - Fix the dock headphone output on Fujitsu Lifebook E780
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 4df3fd1700abbb53bd874143dfd1f9ac9e7cbf4b upstream.
+
+Fujitsu Lifebook E780 sets the sequence number 0x0f to only only of
+the two headphones, thus the driver tries to assign another as the
+line-out, and this results in the inconsistent mapping between the
+created jack ctl and the actual I/O.  Due to this, PulseAudio doesn't
+handle it properly and gets the silent output.
+
+The fix is to ignore the non-HP sequencer checks.
+
+Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=99681
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/hda/patch_realtek.c |    6 ++++++
+ 1 file changed, 6 insertions(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -4458,6 +4458,7 @@ enum {
+       ALC269_FIXUP_LIFEBOOK,
+       ALC269_FIXUP_LIFEBOOK_EXTMIC,
+       ALC269_FIXUP_LIFEBOOK_HP_PIN,
++      ALC269_FIXUP_LIFEBOOK_NO_HP_TO_LINEOUT,
+       ALC269_FIXUP_AMIC,
+       ALC269_FIXUP_DMIC,
+       ALC269VB_FIXUP_AMIC,
+@@ -4627,6 +4628,10 @@ static const struct hda_fixup alc269_fix
+                       { }
+               },
+       },
++      [ALC269_FIXUP_LIFEBOOK_NO_HP_TO_LINEOUT] = {
++              .type = HDA_FIXUP_FUNC,
++              .v.func = alc269_fixup_pincfg_no_hp_to_lineout,
++      },
+       [ALC269_FIXUP_AMIC] = {
+               .type = HDA_FIXUP_PINS,
+               .v.pins = (const struct hda_pintbl[]) {
+@@ -5191,6 +5196,7 @@ static const struct snd_pci_quirk alc269
+       SND_PCI_QUIRK(0x104d, 0x9084, "Sony VAIO", ALC275_FIXUP_SONY_HWEQ),
+       SND_PCI_QUIRK(0x104d, 0x9099, "Sony VAIO S13", ALC275_FIXUP_SONY_DISABLE_AAMIX),
+       SND_PCI_QUIRK(0x10cf, 0x1475, "Lifebook", ALC269_FIXUP_LIFEBOOK),
++      SND_PCI_QUIRK(0x10cf, 0x159f, "Lifebook E780", ALC269_FIXUP_LIFEBOOK_NO_HP_TO_LINEOUT),
+       SND_PCI_QUIRK(0x10cf, 0x15dc, "Lifebook T731", ALC269_FIXUP_LIFEBOOK_HP_PIN),
+       SND_PCI_QUIRK(0x10cf, 0x1757, "Lifebook E752", ALC269_FIXUP_LIFEBOOK_HP_PIN),
+       SND_PCI_QUIRK(0x10cf, 0x1845, "Lifebook U904", ALC269_FIXUP_LIFEBOOK_EXTMIC),
diff --git a/queue-4.1/alsa-hda-restore-the-mic-fixup-for-some-dell-machines.patch b/queue-4.1/alsa-hda-restore-the-mic-fixup-for-some-dell-machines.patch
new file mode 100644 (file)
index 0000000..1471bfd
--- /dev/null
@@ -0,0 +1,65 @@
+From 831bfdf9520e389357cfeee42a6174a73ce7bdb7 Mon Sep 17 00:00:00 2001
+From: Hui Wang <hui.wang@canonical.com>
+Date: Fri, 26 Jun 2015 12:35:17 +0800
+Subject: ALSA: hda - restore the MIC FIXUP for some Dell machines
+
+From: Hui Wang <hui.wang@canonical.com>
+
+commit 831bfdf9520e389357cfeee42a6174a73ce7bdb7 upstream.
+
+Those FIXUPs were applied to the machines through pin quirks, but
+recently the PCI_QUIRK makes them can't apply to the machines.
+
+Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=99851
+Signed-off-by: Hui Wang <hui.wang@canonical.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/hda/patch_realtek.c |   18 +++++++++++++++++-
+ 1 file changed, 17 insertions(+), 1 deletion(-)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -4516,6 +4516,8 @@ enum {
+       ALC288_FIXUP_DELL_HEADSET_MODE,
+       ALC288_FIXUP_DELL1_MIC_NO_PRESENCE,
+       ALC288_FIXUP_DELL_XPS_13_GPIO6,
++      ALC288_FIXUP_DELL_XPS_13,
++      ALC288_FIXUP_DISABLE_AAMIX,
+       ALC292_FIXUP_DELL_E7X,
+       ALC292_FIXUP_DISABLE_AAMIX,
+ };
+@@ -5046,9 +5048,23 @@ static const struct hda_fixup alc269_fix
+               .chained = true,
+               .chain_id = ALC288_FIXUP_DELL1_MIC_NO_PRESENCE
+       },
++      [ALC288_FIXUP_DISABLE_AAMIX] = {
++              .type = HDA_FIXUP_FUNC,
++              .v.func = alc_fixup_disable_aamix,
++              .chained = true,
++              .chain_id = ALC288_FIXUP_DELL_XPS_13_GPIO6
++      },
++      [ALC288_FIXUP_DELL_XPS_13] = {
++              .type = HDA_FIXUP_FUNC,
++              .v.func = alc_fixup_dell_xps13,
++              .chained = true,
++              .chain_id = ALC288_FIXUP_DISABLE_AAMIX
++      },
+       [ALC292_FIXUP_DISABLE_AAMIX] = {
+               .type = HDA_FIXUP_FUNC,
+               .v.func = alc_fixup_disable_aamix,
++              .chained = true,
++              .chain_id = ALC269_FIXUP_DELL2_MIC_NO_PRESENCE
+       },
+       [ALC292_FIXUP_DELL_E7X] = {
+               .type = HDA_FIXUP_FUNC,
+@@ -5079,7 +5095,7 @@ static const struct snd_pci_quirk alc269
+       SND_PCI_QUIRK(0x1028, 0x0638, "Dell Inspiron 5439", ALC290_FIXUP_MONO_SPEAKERS_HSJACK),
+       SND_PCI_QUIRK(0x1028, 0x064a, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),
+       SND_PCI_QUIRK(0x1028, 0x064b, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),
+-      SND_PCI_QUIRK(0x1028, 0x0665, "Dell XPS 13", ALC292_FIXUP_DELL_E7X),
++      SND_PCI_QUIRK(0x1028, 0x0665, "Dell XPS 13", ALC288_FIXUP_DELL_XPS_13),
+       SND_PCI_QUIRK(0x1028, 0x06c7, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE),
+       SND_PCI_QUIRK(0x1028, 0x06d9, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),
+       SND_PCI_QUIRK(0x1028, 0x06da, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),
diff --git a/queue-4.1/alsa-hda-set-proper-caps-for-newer-amd-hda-audio-in-kb-kv.patch b/queue-4.1/alsa-hda-set-proper-caps-for-newer-amd-hda-audio-in-kb-kv.patch
new file mode 100644 (file)
index 0000000..3f8f1f5
--- /dev/null
@@ -0,0 +1,40 @@
+From 650474fb737c3e0ea0f6ab8e43c2cd161080ce5c Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexander.deucher@amd.com>
+Date: Wed, 24 Jun 2015 14:37:18 -0400
+Subject: ALSA: hda - set proper caps for newer AMD hda audio in KB/KV
+
+From: Alex Deucher <alexander.deucher@amd.com>
+
+commit 650474fb737c3e0ea0f6ab8e43c2cd161080ce5c upstream.
+
+Fixes audio problems on newer asics.
+
+Noticed by: Kelly Anderson <kelly@xilka.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/hda/hda_intel.c |    4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/sound/pci/hda/hda_intel.c
++++ b/sound/pci/hda/hda_intel.c
+@@ -2054,6 +2054,8 @@ static const struct pci_device_id azx_id
+       { PCI_DEVICE(0x1022, 0x780d),
+         .driver_data = AZX_DRIVER_GENERIC | AZX_DCAPS_PRESET_ATI_SB },
+       /* ATI HDMI */
++      { PCI_DEVICE(0x1002, 0x1308),
++        .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS },
+       { PCI_DEVICE(0x1002, 0x793b),
+         .driver_data = AZX_DRIVER_ATIHDMI | AZX_DCAPS_PRESET_ATI_HDMI },
+       { PCI_DEVICE(0x1002, 0x7919),
+@@ -2062,6 +2064,8 @@ static const struct pci_device_id azx_id
+         .driver_data = AZX_DRIVER_ATIHDMI | AZX_DCAPS_PRESET_ATI_HDMI },
+       { PCI_DEVICE(0x1002, 0x970f),
+         .driver_data = AZX_DRIVER_ATIHDMI | AZX_DCAPS_PRESET_ATI_HDMI },
++      { PCI_DEVICE(0x1002, 0x9840),
++        .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS },
+       { PCI_DEVICE(0x1002, 0xaa00),
+         .driver_data = AZX_DRIVER_ATIHDMI | AZX_DCAPS_PRESET_ATI_HDMI },
+       { PCI_DEVICE(0x1002, 0xaa08),
diff --git a/queue-4.1/alsa-pcm-fix-pcm_class-sysfs-output.patch b/queue-4.1/alsa-pcm-fix-pcm_class-sysfs-output.patch
new file mode 100644 (file)
index 0000000..db84f4e
--- /dev/null
@@ -0,0 +1,43 @@
+From 60b93030b44a8c2cd015cebe5624fd7552ec67ec Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Tue, 23 Jun 2015 11:56:22 +0200
+Subject: ALSA: pcm: Fix pcm_class sysfs output
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 60b93030b44a8c2cd015cebe5624fd7552ec67ec upstream.
+
+The pcm_class sysfs of each PCM substream gives only "none" since the
+recent code change to embed the struct device.  Fix the code to point
+directly to the embedded device object properly.
+
+Fixes: ef46c7af93f9 ('ALSA: pcm: Embed struct device')
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/core/pcm.c |    6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+--- a/sound/core/pcm.c
++++ b/sound/core/pcm.c
+@@ -1027,7 +1027,8 @@ void snd_pcm_detach_substream(struct snd
+ static ssize_t show_pcm_class(struct device *dev,
+                             struct device_attribute *attr, char *buf)
+ {
+-      struct snd_pcm *pcm;
++      struct snd_pcm_str *pstr = container_of(dev, struct snd_pcm_str, dev);
++      struct snd_pcm *pcm = pstr->pcm;
+       const char *str;
+       static const char *strs[SNDRV_PCM_CLASS_LAST + 1] = {
+               [SNDRV_PCM_CLASS_GENERIC] = "generic",
+@@ -1036,8 +1037,7 @@ static ssize_t show_pcm_class(struct dev
+               [SNDRV_PCM_CLASS_DIGITIZER] = "digitizer",
+       };
+-      if (! (pcm = dev_get_drvdata(dev)) ||
+-          pcm->dev_class > SNDRV_PCM_CLASS_LAST)
++      if (pcm->dev_class > SNDRV_PCM_CLASS_LAST)
+               str = "none";
+       else
+               str = strs[pcm->dev_class];
diff --git a/queue-4.1/disable-write-buffering-on-toshiba-topic95.patch b/queue-4.1/disable-write-buffering-on-toshiba-topic95.patch
new file mode 100644 (file)
index 0000000..d7d6cd6
--- /dev/null
@@ -0,0 +1,65 @@
+From 2fb22a8042fe96b4220843f79241c116d90922c4 Mon Sep 17 00:00:00 2001
+From: Ryan Underwood <nemesis@icequake.net>
+Date: Sun, 25 Jan 2015 16:07:09 -0800
+Subject: Disable write buffering on Toshiba ToPIC95
+
+From: Ryan Underwood <nemesis@icequake.net>
+
+commit 2fb22a8042fe96b4220843f79241c116d90922c4 upstream.
+
+Disable write buffering on the Toshiba ToPIC95 if it is enabled by
+somebody (it is not supposed to be a power-on default according to
+the datasheet). On the ToPIC95, practically no 32-bit Cardbus card
+will work under heavy load without locking up the whole system if
+this is left enabled. I tried about a dozen. It does not affect
+16-bit cards. This is similar to the O2 bugs in early controller
+revisions it seems.
+
+Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=55961
+Signed-off-by: Ryan C. Underwood <nemesis@icequake.net>
+Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/pcmcia/topic.h |   16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+--- a/drivers/pcmcia/topic.h
++++ b/drivers/pcmcia/topic.h
+@@ -104,6 +104,9 @@
+ #define TOPIC_EXCA_IF_CONTROL         0x3e    /* 8 bit */
+ #define TOPIC_EXCA_IFC_33V_ENA                0x01
++#define TOPIC_PCI_CFG_PPBCN           0x3e    /* 16-bit */
++#define TOPIC_PCI_CFG_PPBCN_WBEN      0x0400
++
+ static void topic97_zoom_video(struct pcmcia_socket *sock, int onoff)
+ {
+       struct yenta_socket *socket = container_of(sock, struct yenta_socket, socket);
+@@ -138,6 +141,7 @@ static int topic97_override(struct yenta
+ static int topic95_override(struct yenta_socket *socket)
+ {
+       u8 fctrl;
++      u16 ppbcn;
+       /* enable 3.3V support for 16bit cards */
+       fctrl = exca_readb(socket, TOPIC_EXCA_IF_CONTROL);
+@@ -146,6 +150,18 @@ static int topic95_override(struct yenta
+       /* tell yenta to use exca registers to power 16bit cards */
+       socket->flags |= YENTA_16BIT_POWER_EXCA | YENTA_16BIT_POWER_DF;
++      /* Disable write buffers to prevent lockups under load with numerous
++         Cardbus cards, observed on Tecra 500CDT and reported elsewhere on the
++         net.  This is not a power-on default according to the datasheet
++         but some BIOSes seem to set it. */
++      if (pci_read_config_word(socket->dev, TOPIC_PCI_CFG_PPBCN, &ppbcn) == 0
++          && socket->dev->revision <= 7
++          && (ppbcn & TOPIC_PCI_CFG_PPBCN_WBEN)) {
++              ppbcn &= ~TOPIC_PCI_CFG_PPBCN_WBEN;
++              pci_write_config_word(socket->dev, TOPIC_PCI_CFG_PPBCN, ppbcn);
++              dev_info(&socket->dev->dev, "Disabled ToPIC95 Cardbus write buffers.\n");
++      }
++
+       return 0;
+ }
diff --git a/queue-4.1/gpio-crystalcove-set-irqchip_skip_set_wake-for-the-irqchip.patch b/queue-4.1/gpio-crystalcove-set-irqchip_skip_set_wake-for-the-irqchip.patch
new file mode 100644 (file)
index 0000000..8af07fa
--- /dev/null
@@ -0,0 +1,33 @@
+From 61e749d7e1627d375156553ea0ae83c4f6bb5a9b Mon Sep 17 00:00:00 2001
+From: Aaron Lu <aaron.lu@intel.com>
+Date: Thu, 28 May 2015 10:58:49 +0800
+Subject: gpio: crystalcove: set IRQCHIP_SKIP_SET_WAKE for the irqchip
+
+From: Aaron Lu <aaron.lu@intel.com>
+
+commit 61e749d7e1627d375156553ea0ae83c4f6bb5a9b upstream.
+
+The CrystalCove GPIO irqchip doesn't have irq_set_wake callback defined
+so we should set IRQCHIP_SKIP_SET_WAKE for it or it would cause an irq
+desc's wake_depth unbalanced warning during system resume phase from the
+gpio_keys driver, which is the driver for the power button of the ASUS
+T100 laptop.
+
+Signed-off-by: Aaron Lu <aaron.lu@intel.com>
+Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpio/gpio-crystalcove.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/gpio/gpio-crystalcove.c
++++ b/drivers/gpio/gpio-crystalcove.c
+@@ -255,6 +255,7 @@ static struct irq_chip crystalcove_irqch
+       .irq_set_type           = crystalcove_irq_type,
+       .irq_bus_lock           = crystalcove_bus_lock,
+       .irq_bus_sync_unlock    = crystalcove_bus_sync_unlock,
++      .flags                  = IRQCHIP_SKIP_SET_WAKE,
+ };
+ static irqreturn_t crystalcove_gpio_irq_handler(int irq, void *data)
diff --git a/queue-4.1/gpio-rcar-check-for-irq_set_irq_wake-failures.patch b/queue-4.1/gpio-rcar-check-for-irq_set_irq_wake-failures.patch
new file mode 100644 (file)
index 0000000..0a6a9fd
--- /dev/null
@@ -0,0 +1,58 @@
+From 501ef0f95a57e7c32138733c468394a52244c85b Mon Sep 17 00:00:00 2001
+From: Geert Uytterhoeven <geert+renesas@glider.be>
+Date: Thu, 21 May 2015 13:21:37 +0200
+Subject: gpio: rcar: Check for irq_set_irq_wake() failures
+
+From: Geert Uytterhoeven <geert+renesas@glider.be>
+
+commit 501ef0f95a57e7c32138733c468394a52244c85b upstream.
+
+If an interrupt controller doesn't support wake-up configuration,
+irq_set_irq_wake() returns an error code.  Then any subsequent call
+trying to deconfigure wake-up will cause an imbalance, and a warning
+will be printed:
+
+    WARNING: CPU: 1 PID: 1341 at kernel/irq/manage.c:540 irq_set_irq_wake+0x9c/0xf8()
+    Unbalanced IRQ 26 wake disable
+
+To fix this, refrain from any further parent interrupt controller
+(de)configuration if irq_set_irq_wake() failed.
+
+Alternative fixes would be:
+  - calling "gic_set_irqchip_flags(IRQCHIP_SKIP_SET_WAKE)" from the
+    platform code,
+  - setting "gic_chip.flags = IRQCHIP_SKIP_SET_WAKE" in the GIC driver
+    code,
+but these were withheld as the GIC hardware doesn't really support
+wake-up interrupts.
+
+Fixes: ab82fa7da4dce5c7 ("gpio: rcar: Prevent module clock disable when wake-up is enabled")
+Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
+Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpio/gpio-rcar.c |   11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+--- a/drivers/gpio/gpio-rcar.c
++++ b/drivers/gpio/gpio-rcar.c
+@@ -177,8 +177,17 @@ static int gpio_rcar_irq_set_wake(struct
+       struct gpio_chip *gc = irq_data_get_irq_chip_data(d);
+       struct gpio_rcar_priv *p = container_of(gc, struct gpio_rcar_priv,
+                                               gpio_chip);
++      int error;
+-      irq_set_irq_wake(p->irq_parent, on);
++      if (p->irq_parent) {
++              error = irq_set_irq_wake(p->irq_parent, on);
++              if (error) {
++                      dev_dbg(&p->pdev->dev,
++                              "irq %u doesn't support irq_set_wake\n",
++                              p->irq_parent);
++                      p->irq_parent = 0;
++              }
++      }
+       if (!p->clk)
+               return 0;
diff --git a/queue-4.1/ipr-increase-default-adapter-init-stage-change-timeout.patch b/queue-4.1/ipr-increase-default-adapter-init-stage-change-timeout.patch
new file mode 100644 (file)
index 0000000..1f93eae
--- /dev/null
@@ -0,0 +1,33 @@
+From 45c44b5ff9caa743ed9c2bfd44307c536c9caf1e Mon Sep 17 00:00:00 2001
+From: Brian King <brking@linux.vnet.ibm.com>
+Date: Wed, 13 May 2015 08:50:27 -0500
+Subject: ipr: Increase default adapter init stage change timeout
+
+From: Brian King <brking@linux.vnet.ibm.com>
+
+commit 45c44b5ff9caa743ed9c2bfd44307c536c9caf1e upstream.
+
+Increase the default init stage change timeout from 15 seconds to 30 seconds.
+This resolves issues we have seen with some adapters not transitioning
+to the first init stage within 15 seconds, which results in adapter
+initialization failures.
+
+Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
+Signed-off-by: James Bottomley <JBottomley@Odin.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/scsi/ipr.h |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/scsi/ipr.h
++++ b/drivers/scsi/ipr.h
+@@ -272,7 +272,7 @@
+ #define IPR_RUNTIME_RESET                             0x40000000
+ #define IPR_IPL_INIT_MIN_STAGE_TIME                   5
+-#define IPR_IPL_INIT_DEFAULT_STAGE_TIME                 15
++#define IPR_IPL_INIT_DEFAULT_STAGE_TIME                 30
+ #define IPR_IPL_INIT_STAGE_UNKNOWN                    0x0
+ #define IPR_IPL_INIT_STAGE_TRANSOP                    0xB0000000
+ #define IPR_IPL_INIT_STAGE_MASK                               0xff000000
diff --git a/queue-4.1/rcu-correctly-handle-non-empty-tiny-rcu-callback-list-with-none-ready.patch b/queue-4.1/rcu-correctly-handle-non-empty-tiny-rcu-callback-list-with-none-ready.patch
new file mode 100644 (file)
index 0000000..76c5d0f
--- /dev/null
@@ -0,0 +1,48 @@
+From 6e91f8cb138625be96070b778d9ba71ce520ea7e Mon Sep 17 00:00:00 2001
+From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
+Date: Mon, 11 May 2015 11:13:05 -0700
+Subject: rcu: Correctly handle non-empty Tiny RCU callback list with none ready
+
+From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
+
+commit 6e91f8cb138625be96070b778d9ba71ce520ea7e upstream.
+
+If, at the time __rcu_process_callbacks() is invoked,  there are callbacks
+in Tiny RCU's callback list, but none of them are ready to be invoked,
+the current list-management code will knit the non-ready callbacks out
+of the list.  This can result in hangs and possibly worse.  This commit
+therefore inserts a check for there being no callbacks that can be
+invoked immediately.
+
+This bug is unlikely to occur -- you have to get a new callback between
+the time rcu_sched_qs() or rcu_bh_qs() was called, but before we get to
+__rcu_process_callbacks().  It was detected by the addition of RCU-bh
+testing to rcutorture, which in turn was instigated by Iftekhar Ahmed's
+mutation testing.  Although this bug was made much more likely by
+915e8a4fe45e (rcu: Remove fastpath from __rcu_process_callbacks()), this
+did not cause the bug, but rather made it much more probable.   That
+said, it takes more than 40 hours of rcutorture testing, on average,
+for this bug to appear, so this fix cannot be considered an emergency.
+
+Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
+Reviewed-by: Josh Triplett <josh@joshtriplett.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ kernel/rcu/tiny.c |    5 +++++
+ 1 file changed, 5 insertions(+)
+
+--- a/kernel/rcu/tiny.c
++++ b/kernel/rcu/tiny.c
+@@ -170,6 +170,11 @@ static void __rcu_process_callbacks(stru
+       /* Move the ready-to-invoke callbacks to a local list. */
+       local_irq_save(flags);
++      if (rcp->donetail == &rcp->rcucblist) {
++              /* No callbacks ready, so just leave. */
++              local_irq_restore(flags);
++              return;
++      }
+       RCU_TRACE(trace_rcu_batch_start(rcp->name, 0, rcp->qlen, -1));
+       list = rcp->rcucblist;
+       rcp->rcucblist = *rcp->donetail;
index c8867fb4b2baaab033bcd6e156054c169e4d147e..9b85f0c16e991c9cb174aa1ddde325cfea1feb6b 100644 (file)
@@ -7,3 +7,16 @@ sysfs-create-mountpoints-with-sysfs_create_mount_point.patch
 mnt-update-fs_fully_visible-to-test-for-permanently-empty-directories.patch
 mnt-refactor-the-logic-for-mounting-sysfs-and-proc-in-a-user-namespace.patch
 mnt-modify-fs_fully_visible-to-deal-with-locked-ro-nodev-and-atime.patch
+gpio-crystalcove-set-irqchip_skip_set_wake-for-the-irqchip.patch
+gpio-rcar-check-for-irq_set_irq_wake-failures.patch
+rcu-correctly-handle-non-empty-tiny-rcu-callback-list-with-none-ready.patch
+ipr-increase-default-adapter-init-stage-change-timeout.patch
+disable-write-buffering-on-toshiba-topic95.patch
+alsa-pcm-fix-pcm_class-sysfs-output.patch
+alsa-hda-fix-dock-headphone-on-thinkpad-x250-seen-as-a-line-out.patch
+alsa-hda-set-proper-caps-for-newer-amd-hda-audio-in-kb-kv.patch
+alsa-hda-disable-widget-power-save-for-via-codecs.patch
+alsa-hda-restore-the-mic-fixup-for-some-dell-machines.patch
+alsa-hda-add-headset-support-to-acer-aspire-v5.patch
+alsa-hda-fix-the-dock-headphone-output-on-fujitsu-lifebook-e780.patch
+alsa-hda-add-a-fixup-for-dell-e7450.patch