]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.14-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 16 Jul 2015 17:42:42 +0000 (10:42 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 16 Jul 2015 17:42:42 +0000 (10:42 -0700)
added patches:
alsa-hda-add-headset-support-to-acer-aspire-v5.patch
alsa-hda-fix-the-dock-headphone-output-on-fujitsu-lifebook-e780.patch
alsa-hda-set-proper-caps-for-newer-amd-hda-audio-in-kb-kv.patch
disable-write-buffering-on-toshiba-topic95.patch
ipr-increase-default-adapter-init-stage-change-timeout.patch
rcu-correctly-handle-non-empty-tiny-rcu-callback-list-with-none-ready.patch
series

queue-3.14/alsa-hda-add-headset-support-to-acer-aspire-v5.patch [new file with mode: 0644]
queue-3.14/alsa-hda-fix-the-dock-headphone-output-on-fujitsu-lifebook-e780.patch [new file with mode: 0644]
queue-3.14/alsa-hda-set-proper-caps-for-newer-amd-hda-audio-in-kb-kv.patch [new file with mode: 0644]
queue-3.14/disable-write-buffering-on-toshiba-topic95.patch [new file with mode: 0644]
queue-3.14/ipr-increase-default-adapter-init-stage-change-timeout.patch [new file with mode: 0644]
queue-3.14/rcu-correctly-handle-non-empty-tiny-rcu-callback-list-with-none-ready.patch [new file with mode: 0644]
queue-3.14/series [new file with mode: 0644]

diff --git a/queue-3.14/alsa-hda-add-headset-support-to-acer-aspire-v5.patch b/queue-3.14/alsa-hda-add-headset-support-to-acer-aspire-v5.patch
new file mode 100644 (file)
index 0000000..cdcfd76
--- /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
+@@ -3973,6 +3973,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,
+@@ -4214,6 +4215,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[]) {
+@@ -4397,6 +4407,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_VENDOR(0x1025, "Acer Aspire", ALC271_FIXUP_DMIC),
diff --git a/queue-3.14/alsa-hda-fix-the-dock-headphone-output-on-fujitsu-lifebook-e780.patch b/queue-3.14/alsa-hda-fix-the-dock-headphone-output-on-fujitsu-lifebook-e780.patch
new file mode 100644 (file)
index 0000000..5fea44f
--- /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
+@@ -3955,6 +3955,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,
+@@ -4097,6 +4098,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[]) {
+@@ -4561,6 +4566,7 @@ static const struct snd_pci_quirk alc269
+       SND_PCI_QUIRK(0x104d, 0x9084, "Sony VAIO", ALC275_FIXUP_SONY_HWEQ),
+       SND_PCI_QUIRK_VENDOR(0x104d, "Sony VAIO", ALC269_FIXUP_SONY_VAIO),
+       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-3.14/alsa-hda-set-proper-caps-for-newer-amd-hda-audio-in-kb-kv.patch b/queue-3.14/alsa-hda-set-proper-caps-for-newer-amd-hda-audio-in-kb-kv.patch
new file mode 100644 (file)
index 0000000..817c4b1
--- /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
+@@ -4069,6 +4069,8 @@ static DEFINE_PCI_DEVICE_TABLE(azx_ids)
+       { 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),
+@@ -4077,6 +4079,8 @@ static DEFINE_PCI_DEVICE_TABLE(azx_ids)
+         .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-3.14/disable-write-buffering-on-toshiba-topic95.patch b/queue-3.14/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-3.14/ipr-increase-default-adapter-init-stage-change-timeout.patch b/queue-3.14/ipr-increase-default-adapter-init-stage-change-timeout.patch
new file mode 100644 (file)
index 0000000..1c88eca
--- /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
+@@ -264,7 +264,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-3.14/rcu-correctly-handle-non-empty-tiny-rcu-callback-list-with-none-ready.patch b/queue-3.14/rcu-correctly-handle-non-empty-tiny-rcu-callback-list-with-none-ready.patch
new file mode 100644 (file)
index 0000000..fee2fd6
--- /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
+@@ -284,6 +284,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;
diff --git a/queue-3.14/series b/queue-3.14/series
new file mode 100644 (file)
index 0000000..076c489
--- /dev/null
@@ -0,0 +1,6 @@
+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-hda-set-proper-caps-for-newer-amd-hda-audio-in-kb-kv.patch
+alsa-hda-add-headset-support-to-acer-aspire-v5.patch
+alsa-hda-fix-the-dock-headphone-output-on-fujitsu-lifebook-e780.patch