--- /dev/null
+From 6ffc0898b29a2811a6c0569c5dd9b581980110df Mon Sep 17 00:00:00 2001
+From: David Henningsson <david.henningsson@canonical.com>
+Date: Wed, 13 May 2015 13:28:54 +0200
+Subject: ALSA: hda - Add Conexant codecs CX20721, CX20722, CX20723 and CX20724
+
+From: David Henningsson <david.henningsson@canonical.com>
+
+commit 6ffc0898b29a2811a6c0569c5dd9b581980110df upstream.
+
+This patch adds support for Conexant HD Audio codecs
+CX20721, CX20722, CX20723 and CX20724.
+
+BugLink: https://bugs.launchpad.net/bugs/1454656
+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_conexant.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+--- a/sound/pci/hda/patch_conexant.c
++++ b/sound/pci/hda/patch_conexant.c
+@@ -3591,6 +3591,14 @@ static const struct hda_codec_preset snd
+ .patch = patch_conexant_auto },
+ { .id = 0x14f150b9, .name = "CX20665",
+ .patch = patch_conexant_auto },
++ { .id = 0x14f150f1, .name = "CX20721",
++ .patch = patch_conexant_auto },
++ { .id = 0x14f150f2, .name = "CX20722",
++ .patch = patch_conexant_auto },
++ { .id = 0x14f150f3, .name = "CX20723",
++ .patch = patch_conexant_auto },
++ { .id = 0x14f150f4, .name = "CX20724",
++ .patch = patch_conexant_auto },
+ { .id = 0x14f1510f, .name = "CX20751/2",
+ .patch = patch_conexant_auto },
+ { .id = 0x14f15110, .name = "CX20751/2",
+@@ -3625,6 +3633,10 @@ MODULE_ALIAS("snd-hda-codec-id:14f150ab"
+ MODULE_ALIAS("snd-hda-codec-id:14f150ac");
+ MODULE_ALIAS("snd-hda-codec-id:14f150b8");
+ MODULE_ALIAS("snd-hda-codec-id:14f150b9");
++MODULE_ALIAS("snd-hda-codec-id:14f150f1");
++MODULE_ALIAS("snd-hda-codec-id:14f150f2");
++MODULE_ALIAS("snd-hda-codec-id:14f150f3");
++MODULE_ALIAS("snd-hda-codec-id:14f150f4");
+ MODULE_ALIAS("snd-hda-codec-id:14f1510f");
+ MODULE_ALIAS("snd-hda-codec-id:14f15110");
+ MODULE_ALIAS("snd-hda-codec-id:14f15111");
--- /dev/null
+From 88776f366ede7d9cdce60bd2c9753dd6d6fa8b77 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Fri, 1 May 2015 09:20:34 +0200
+Subject: ALSA: hda - Add headphone quirk for Lifebook E752
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 88776f366ede7d9cdce60bd2c9753dd6d6fa8b77 upstream.
+
+Fujitsu Lifebook E752 laptop needs a similar quirk done for Lifebook
+T731. Otherwise the headphone is always muted.
+
+Reported-and-tested-by: Christian Weber <we_chris@hotmail.com>
+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
+@@ -4549,6 +4549,7 @@ static const struct snd_pci_quirk alc269
+ SND_PCI_QUIRK_VENDOR(0x104d, "Sony VAIO", ALC269_FIXUP_SONY_VAIO),
+ SND_PCI_QUIRK(0x10cf, 0x1475, "Lifebook", ALC269_FIXUP_LIFEBOOK),
+ 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),
+ SND_PCI_QUIRK(0x17aa, 0x20f2, "Thinkpad SL410/510", ALC269_FIXUP_SKU_IGNORE),
+ SND_PCI_QUIRK(0x17aa, 0x215e, "Thinkpad L512", ALC269_FIXUP_SKU_IGNORE),
--- /dev/null
+From 545774bd6e1427d98dde77244329d2311c5eca6f Mon Sep 17 00:00:00 2001
+From: Axel Lin <axel.lin@ingics.com>
+Date: Mon, 27 Apr 2015 14:51:35 +0800
+Subject: ASoC: mc13783: Fix wrong mask value used in mc13xxx_reg_rmw() calls
+
+From: Axel Lin <axel.lin@ingics.com>
+
+commit 545774bd6e1427d98dde77244329d2311c5eca6f upstream.
+
+mc13xxx_reg_rmw() won't change any bit if passing 0 to the mask field.
+Pass AUDIO_SSI_SEL instead of 0 for the mask field to set AUDIO_SSI_SEL
+bit.
+
+Signed-off-by: Axel Lin <axel.lin@ingics.com>
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/soc/codecs/mc13783.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/sound/soc/codecs/mc13783.c
++++ b/sound/soc/codecs/mc13783.c
+@@ -634,14 +634,14 @@ static int mc13783_probe(struct snd_soc_
+ AUDIO_SSI_SEL, 0);
+ else
+ mc13xxx_reg_rmw(priv->mc13xxx, MC13783_AUDIO_CODEC,
+- 0, AUDIO_SSI_SEL);
++ AUDIO_SSI_SEL, AUDIO_SSI_SEL);
+
+ if (priv->dac_ssi_port == MC13783_SSI1_PORT)
+ mc13xxx_reg_rmw(priv->mc13xxx, MC13783_AUDIO_DAC,
+ AUDIO_SSI_SEL, 0);
+ else
+ mc13xxx_reg_rmw(priv->mc13xxx, MC13783_AUDIO_DAC,
+- 0, AUDIO_SSI_SEL);
++ AUDIO_SSI_SEL, AUDIO_SSI_SEL);
+
+ return 0;
+ }
--- /dev/null
+From 810e4425c224af6be67dff68c8832af1b5a11f89 Mon Sep 17 00:00:00 2001
+From: Vasily Khoruzhick <anarsoul@gmail.com>
+Date: Sun, 3 May 2015 21:11:47 +0300
+Subject: ASoC: uda1380: Avoid accessing i2c bus when codec is disabled
+
+From: Vasily Khoruzhick <anarsoul@gmail.com>
+
+commit 810e4425c224af6be67dff68c8832af1b5a11f89 upstream.
+
+set_dai_fmt_both() callback is called from snd_soc_runtime_set_dai_fmt()
+which is called from snd_soc_register_card(), but at this time codec
+is not powered on yet. Replace direct i2c write with regcache write.
+
+Fixes: 5f0acedddf533c (ASoC: rx1950_uda1380: Use static DAI format setup)
+Fixes: 5cc10b9b77c234 (ASoC: h1940_uda1380: Use static DAI format setup)
+Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/soc/codecs/uda1380.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/sound/soc/codecs/uda1380.c
++++ b/sound/soc/codecs/uda1380.c
+@@ -435,7 +435,7 @@ static int uda1380_set_dai_fmt_both(stru
+ if ((fmt & SND_SOC_DAIFMT_MASTER_MASK) != SND_SOC_DAIFMT_CBS_CFS)
+ return -EINVAL;
+
+- uda1380_write(codec, UDA1380_IFACE, iface);
++ uda1380_write_reg_cache(codec, UDA1380_IFACE, iface);
+
+ return 0;
+ }
--- /dev/null
+From 85e36a1f4a735d991ba5106781ea48e89a0b8901 Mon Sep 17 00:00:00 2001
+From: Zidan Wang <zidan.wang@freescale.com>
+Date: Tue, 12 May 2015 14:58:36 +0800
+Subject: ASoC: wm8960: fix "RINPUT3" audio route error
+
+From: Zidan Wang <zidan.wang@freescale.com>
+
+commit 85e36a1f4a735d991ba5106781ea48e89a0b8901 upstream.
+
+It should be "RINPUT3" instead of "LINPUT3" route to "Right Input
+Mixer".
+
+Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
+Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/soc/codecs/wm8960.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/sound/soc/codecs/wm8960.c
++++ b/sound/soc/codecs/wm8960.c
+@@ -392,7 +392,7 @@ static const struct snd_soc_dapm_route a
+ { "Right Input Mixer", "Boost Switch", "Right Boost Mixer", },
+ { "Right Input Mixer", NULL, "RINPUT1", }, /* Really Boost Switch */
+ { "Right Input Mixer", NULL, "RINPUT2" },
+- { "Right Input Mixer", NULL, "LINPUT3" },
++ { "Right Input Mixer", NULL, "RINPUT3" },
+
+ { "Left ADC", NULL, "Left Input Mixer" },
+ { "Right ADC", NULL, "Right Input Mixer" },
--- /dev/null
+From 17fc2e0a3db11889e942c5ab15a1fcb876638f25 Mon Sep 17 00:00:00 2001
+From: Zidan Wang <zidan.wang@freescale.com>
+Date: Tue, 12 May 2015 14:58:50 +0800
+Subject: ASoC: wm8994: correct BCLK DIV 348 to 384
+
+From: Zidan Wang <zidan.wang@freescale.com>
+
+commit 17fc2e0a3db11889e942c5ab15a1fcb876638f25 upstream.
+
+According to the RM of wm8958, BCLK DIV 348 doesn't exist, correct it
+to 384.
+
+Signed-off-by: Zidan Wang <zidan.wang@freescale.com>
+Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/soc/codecs/wm8994.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/sound/soc/codecs/wm8994.c
++++ b/sound/soc/codecs/wm8994.c
+@@ -2745,7 +2745,7 @@ static struct {
+ };
+
+ static int fs_ratios[] = {
+- 64, 128, 192, 256, 348, 512, 768, 1024, 1408, 1536
++ 64, 128, 192, 256, 384, 512, 768, 1024, 1408, 1536
+ };
+
+ static int bclk_divs[] = {
--- /dev/null
+From 2159184ea01e4ae7d15f2017e296d4bc82d5aeb0 Mon Sep 17 00:00:00 2001
+From: Al Viro <viro@zeniv.linux.org.uk>
+Date: Thu, 28 May 2015 23:09:19 -0400
+Subject: d_walk() might skip too much
+
+From: Al Viro <viro@zeniv.linux.org.uk>
+
+commit 2159184ea01e4ae7d15f2017e296d4bc82d5aeb0 upstream.
+
+when we find that a child has died while we'd been trying to ascend,
+we should go into the first live sibling itself, rather than its sibling.
+
+Off-by-one in question had been introduced in "deal with deadlock in
+d_walk()" and the fix needs to be backported to all branches this one
+has been backported to.
+
+Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ fs/dcache.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+--- a/fs/dcache.c
++++ b/fs/dcache.c
+@@ -1135,13 +1135,13 @@ ascend:
+ /* might go back up the wrong parent if we have had a rename. */
+ if (need_seqretry(&rename_lock, seq))
+ goto rename_retry;
+- next = child->d_child.next;
+- while (unlikely(child->d_flags & DCACHE_DENTRY_KILLED)) {
++ /* go into the first sibling still alive */
++ do {
++ next = child->d_child.next;
+ if (next == &this_parent->d_subdirs)
+ goto ascend;
+ child = list_entry(next, struct dentry, d_child);
+- next = next->next;
+- }
++ } while (unlikely(child->d_flags & DCACHE_DENTRY_KILLED));
+ rcu_read_unlock();
+ goto resume;
+ }
--- /dev/null
+From f18c34e483ff6b1d9866472221e4015b3a4698e4 Mon Sep 17 00:00:00 2001
+From: Jan Kara <jack@suse.cz>
+Date: Tue, 2 Jun 2015 17:10:28 +0200
+Subject: lib: Fix strnlen_user() to not touch memory after specified maximum
+
+From: Jan Kara <jack@suse.cz>
+
+commit f18c34e483ff6b1d9866472221e4015b3a4698e4 upstream.
+
+If the specified maximum length of the string is a multiple of unsigned
+long, we would load one long behind the specified maximum. If that
+happens to be in a next page, we can hit a page fault although we were
+not expected to.
+
+Fix the off-by-one bug in the test whether we are at the end of the
+specified range.
+
+Signed-off-by: Jan Kara <jack@suse.cz>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ lib/strnlen_user.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/lib/strnlen_user.c
++++ b/lib/strnlen_user.c
+@@ -57,7 +57,8 @@ static inline long do_strnlen_user(const
+ return res + find_zero(data) + 1 - align;
+ }
+ res += sizeof(unsigned long);
+- if (unlikely(max < sizeof(unsigned long)))
++ /* We already handled 'unsigned long' bytes. Did we do it all ? */
++ if (unlikely(max <= sizeof(unsigned long)))
+ break;
+ max -= sizeof(unsigned long);
+ if (unlikely(__get_user(c,(unsigned long __user *)(src+res))))
--- /dev/null
+From 3530febb5c7636f6b26d15637f68296804d26491 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Sun, 24 May 2015 08:27:52 +0200
+Subject: Revert "ALSA: hda - Add mute-LED mode control to Thinkpad"
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 3530febb5c7636f6b26d15637f68296804d26491 upstream.
+
+This reverts commit 7290006d8c0900c56d8c58428134f02c35109d17.
+
+Through the regression report, it was revealed that the
+tpacpi_led_set() call to thinkpad_acpi helper doesn't only toggle the
+mute LED but actually mutes the sound. This is contradiction to the
+expectation, and rather confuses user.
+
+According to Henrique, it's not trivial to judge which TP model
+behaves "LED-only" and which model does whatever more intrusive, as
+Lenovo's implementations vary model by model. So, from the safety
+reason, we should revert the patch for now.
+
+Reported-by: Martin Steigerwald <martin@lichtvoll.de>
+Cc: Pali Rohár <pali.rohar@gmail.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/hda/thinkpad_helper.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+--- a/sound/pci/hda/thinkpad_helper.c
++++ b/sound/pci/hda/thinkpad_helper.c
+@@ -71,7 +71,6 @@ static void hda_fixup_thinkpad_acpi(stru
+ if (led_set_func(TPACPI_LED_MUTE, false) >= 0) {
+ old_vmaster_hook = spec->vmaster_mute.hook;
+ spec->vmaster_mute.hook = update_tpacpi_mute_led;
+- spec->vmaster_mute_enum = 1;
+ removefunc = false;
+ }
+ if (led_set_func(TPACPI_LED_MICMUTE, false) >= 0) {
staging-rtl8192e-llvmlinux-remove-unused-inline-prototype.patch
kernel-use-the-gnu89-standard-explicitly.patch
qla2xxx-remove-redundant-declaration-in-qla_gbl.h.patch
-x86-fpu-disable-xsaves-support-for-now.patch
kvm-mmu-fix-cr4.smep-1-cr0.wp-0-with-shadow-pages.patch
net-socket-fix-the-wrong-returns-for-recvmsg-and-sendmsg.patch
fs-omfs-add-null-terminator-in-the-end-up-the-token-list.patch
xen-events-don-t-bind-non-percpu-virqs-with-percpu-chip.patch
hwmon-ntc_thermistor-ensure-iio-channel-is-of-type-iio_voltage.patch
hwmon-nct6775-add-missing-sysfs-attribute-initialization.patch
+lib-fix-strnlen_user-to-not-touch-memory-after-specified-maximum.patch
+d_walk-might-skip-too-much.patch
+alsa-hda-add-conexant-codecs-cx20721-cx20722-cx20723-and-cx20724.patch
+alsa-hda-add-headphone-quirk-for-lifebook-e752.patch
+revert-alsa-hda-add-mute-led-mode-control-to-thinkpad.patch
+asoc-mc13783-fix-wrong-mask-value-used-in-mc13xxx_reg_rmw-calls.patch
+asoc-uda1380-avoid-accessing-i2c-bus-when-codec-is-disabled.patch
+asoc-wm8960-fix-rinput3-audio-route-error.patch
+asoc-wm8994-correct-bclk-div-348-to-384.patch
+++ /dev/null
-From e88221c50cadade0eb4f7f149f4967d760212695 Mon Sep 17 00:00:00 2001
-From: Ingo Molnar <mingo@kernel.org>
-Date: Wed, 20 May 2015 11:45:30 +0200
-Subject: x86/fpu: Disable XSAVES* support for now
-
-From: Ingo Molnar <mingo@kernel.org>
-
-commit e88221c50cadade0eb4f7f149f4967d760212695 upstream.
-
-The kernel's handling of 'compacted' xsave state layout is buggy:
-
- http://marc.info/?l=linux-kernel&m=142967852317199
-
-I don't have such a system, and the description there is vague, but
-from extrapolation I guess that there were two kinds of bugs
-observed:
-
- - boot crashes, due to size calculations being wrong and the dynamic
- allocation allocating a too small xstate area. (This is now fixed
- in the new FPU code - but still present in stable kernels.)
-
- - FPU state corruption and ABI breakage: if signal handlers try to
- change the FPU state in standard format, which then the kernel
- tries to restore in the compacted format.
-
-These breakages are scary, but they only occur on a small number of
-systems that have XSAVES* CPU support. Yet we have had XSAVES support
-in the upstream kernel for a large number of stable kernel releases,
-and the fixes are involved and unproven.
-
-So do the safe resolution first: disable XSAVES* support and only
-use the standard xstate format. This makes the code work and is
-easy to backport.
-
-On top of this we can work on enabling (and testing!) proper
-compacted format support, without backporting pressure, on top of the
-new, cleaned up FPU code.
-
-Cc: Andy Lutomirski <luto@amacapital.net>
-Cc: Borislav Petkov <bp@alien8.de>
-Cc: Dave Hansen <dave.hansen@linux.intel.com>
-Cc: Fenghua Yu <fenghua.yu@intel.com>
-Cc: H. Peter Anvin <hpa@zytor.com>
-Cc: Linus Torvalds <torvalds@linux-foundation.org>
-Cc: Oleg Nesterov <oleg@redhat.com>
-Cc: Peter Zijlstra <peterz@infradead.org>
-Cc: Thomas Gleixner <tglx@linutronix.de>
-Signed-off-by: Ingo Molnar <mingo@kernel.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- arch/x86/kernel/i387.c | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
---- a/arch/x86/kernel/i387.c
-+++ b/arch/x86/kernel/i387.c
-@@ -155,6 +155,21 @@ static void init_thread_xstate(void)
- xstate_size = sizeof(struct i387_fxsave_struct);
- else
- xstate_size = sizeof(struct i387_fsave_struct);
-+
-+ /*
-+ * Quirk: we don't yet handle the XSAVES* instructions
-+ * correctly, as we don't correctly convert between
-+ * standard and compacted format when interfacing
-+ * with user-space - so disable it for now.
-+ *
-+ * The difference is small: with recent CPUs the
-+ * compacted format is only marginally smaller than
-+ * the standard FPU state format.
-+ *
-+ * ( This is easy to backport while we are fixing
-+ * XSAVES* support. )
-+ */
-+ setup_clear_cpu_cap(X86_FEATURE_XSAVES);
- }
-
- /*