From b10b8fa5b2dbb5788aa50c7345534daa331812b0 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Thu, 16 Jul 2015 10:42:42 -0700 Subject: [PATCH] 3.14-stable patches 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 --- ...dd-headset-support-to-acer-aspire-v5.patch | 56 ++++++++++++++++ ...hone-output-on-fujitsu-lifebook-e780.patch | 54 +++++++++++++++ ...aps-for-newer-amd-hda-audio-in-kb-kv.patch | 40 ++++++++++++ ...e-write-buffering-on-toshiba-topic95.patch | 65 +++++++++++++++++++ ...lt-adapter-init-stage-change-timeout.patch | 33 ++++++++++ ...ny-rcu-callback-list-with-none-ready.patch | 48 ++++++++++++++ queue-3.14/series | 6 ++ 7 files changed, 302 insertions(+) create mode 100644 queue-3.14/alsa-hda-add-headset-support-to-acer-aspire-v5.patch create mode 100644 queue-3.14/alsa-hda-fix-the-dock-headphone-output-on-fujitsu-lifebook-e780.patch create mode 100644 queue-3.14/alsa-hda-set-proper-caps-for-newer-amd-hda-audio-in-kb-kv.patch create mode 100644 queue-3.14/disable-write-buffering-on-toshiba-topic95.patch create mode 100644 queue-3.14/ipr-increase-default-adapter-init-stage-change-timeout.patch create mode 100644 queue-3.14/rcu-correctly-handle-non-empty-tiny-rcu-callback-list-with-none-ready.patch create mode 100644 queue-3.14/series 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 index 00000000000..cdcfd76ea51 --- /dev/null +++ b/queue-3.14/alsa-hda-add-headset-support-to-acer-aspire-v5.patch @@ -0,0 +1,56 @@ +From 7819717b11346b8a5420b223b46600e394049c66 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Sat, 27 Jun 2015 10:21:13 +0200 +Subject: ALSA: hda - Add headset support to Acer Aspire V5 + +From: Takashi Iwai + +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 +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..5fea44f9021 --- /dev/null +++ b/queue-3.14/alsa-hda-fix-the-dock-headphone-output-on-fujitsu-lifebook-e780.patch @@ -0,0 +1,54 @@ +From 4df3fd1700abbb53bd874143dfd1f9ac9e7cbf4b Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Mon, 29 Jun 2015 08:38:02 +0200 +Subject: ALSA: hda - Fix the dock headphone output on Fujitsu Lifebook E780 + +From: Takashi Iwai + +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 +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..817c4b13118 --- /dev/null +++ b/queue-3.14/alsa-hda-set-proper-caps-for-newer-amd-hda-audio-in-kb-kv.patch @@ -0,0 +1,40 @@ +From 650474fb737c3e0ea0f6ab8e43c2cd161080ce5c Mon Sep 17 00:00:00 2001 +From: Alex Deucher +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 + +commit 650474fb737c3e0ea0f6ab8e43c2cd161080ce5c upstream. + +Fixes audio problems on newer asics. + +Noticed by: Kelly Anderson +Signed-off-by: Alex Deucher +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..d7d6cd65b33 --- /dev/null +++ b/queue-3.14/disable-write-buffering-on-toshiba-topic95.patch @@ -0,0 +1,65 @@ +From 2fb22a8042fe96b4220843f79241c116d90922c4 Mon Sep 17 00:00:00 2001 +From: Ryan Underwood +Date: Sun, 25 Jan 2015 16:07:09 -0800 +Subject: Disable write buffering on Toshiba ToPIC95 + +From: Ryan Underwood + +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 +Signed-off-by: Dominik Brodowski +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..1c88eca35bf --- /dev/null +++ b/queue-3.14/ipr-increase-default-adapter-init-stage-change-timeout.patch @@ -0,0 +1,33 @@ +From 45c44b5ff9caa743ed9c2bfd44307c536c9caf1e Mon Sep 17 00:00:00 2001 +From: Brian King +Date: Wed, 13 May 2015 08:50:27 -0500 +Subject: ipr: Increase default adapter init stage change timeout + +From: Brian King + +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 +Signed-off-by: James Bottomley +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..fee2fd6cc25 --- /dev/null +++ b/queue-3.14/rcu-correctly-handle-non-empty-tiny-rcu-callback-list-with-none-ready.patch @@ -0,0 +1,48 @@ +From 6e91f8cb138625be96070b778d9ba71ce520ea7e Mon Sep 17 00:00:00 2001 +From: "Paul E. McKenney" +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" + +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 +Reviewed-by: Josh Triplett +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..076c4896a63 --- /dev/null +++ b/queue-3.14/series @@ -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 -- 2.47.3