]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.10-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 3 Jun 2015 01:32:07 +0000 (10:32 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 3 Jun 2015 01:32:07 +0000 (10:32 +0900)
added patches:
alsa-hda-add-conexant-codecs-cx20721-cx20722-cx20723-and-cx20724.patch
alsa-hda-add-headphone-quirk-for-lifebook-e752.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
d_walk-might-skip-too-much.patch
lib-fix-strnlen_user-to-not-touch-memory-after-specified-maximum.patch

queue-3.10/alsa-hda-add-conexant-codecs-cx20721-cx20722-cx20723-and-cx20724.patch [new file with mode: 0644]
queue-3.10/alsa-hda-add-headphone-quirk-for-lifebook-e752.patch [new file with mode: 0644]
queue-3.10/asoc-mc13783-fix-wrong-mask-value-used-in-mc13xxx_reg_rmw-calls.patch [new file with mode: 0644]
queue-3.10/asoc-uda1380-avoid-accessing-i2c-bus-when-codec-is-disabled.patch [new file with mode: 0644]
queue-3.10/asoc-wm8960-fix-rinput3-audio-route-error.patch [new file with mode: 0644]
queue-3.10/asoc-wm8994-correct-bclk-div-348-to-384.patch [new file with mode: 0644]
queue-3.10/d_walk-might-skip-too-much.patch [new file with mode: 0644]
queue-3.10/lib-fix-strnlen_user-to-not-touch-memory-after-specified-maximum.patch [new file with mode: 0644]
queue-3.10/series

diff --git a/queue-3.10/alsa-hda-add-conexant-codecs-cx20721-cx20722-cx20723-and-cx20724.patch b/queue-3.10/alsa-hda-add-conexant-codecs-cx20721-cx20722-cx20723-and-cx20724.patch
new file mode 100644 (file)
index 0000000..255935c
--- /dev/null
@@ -0,0 +1,49 @@
+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
+@@ -3490,6 +3490,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",
+@@ -3524,6 +3532,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");
diff --git a/queue-3.10/alsa-hda-add-headphone-quirk-for-lifebook-e752.patch b/queue-3.10/alsa-hda-add-headphone-quirk-for-lifebook-e752.patch
new file mode 100644 (file)
index 0000000..db4c892
--- /dev/null
@@ -0,0 +1,30 @@
+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
+@@ -3736,6 +3736,7 @@ static const struct snd_pci_quirk alc269
+       SND_PCI_QUIRK_VENDOR(0x1025, "Acer Aspire", ALC271_FIXUP_DMIC),
+       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),
diff --git a/queue-3.10/asoc-mc13783-fix-wrong-mask-value-used-in-mc13xxx_reg_rmw-calls.patch b/queue-3.10/asoc-mc13783-fix-wrong-mask-value-used-in-mc13xxx_reg_rmw-calls.patch
new file mode 100644 (file)
index 0000000..f93bff5
--- /dev/null
@@ -0,0 +1,40 @@
+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
+@@ -604,14 +604,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);
+       mc13xxx_unlock(priv->mc13xxx);
diff --git a/queue-3.10/asoc-uda1380-avoid-accessing-i2c-bus-when-codec-is-disabled.patch b/queue-3.10/asoc-uda1380-avoid-accessing-i2c-bus-when-codec-is-disabled.patch
new file mode 100644 (file)
index 0000000..6b7c837
--- /dev/null
@@ -0,0 +1,34 @@
+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;
+ }
diff --git a/queue-3.10/asoc-wm8960-fix-rinput3-audio-route-error.patch b/queue-3.10/asoc-wm8960-fix-rinput3-audio-route-error.patch
new file mode 100644 (file)
index 0000000..ea9fe96
--- /dev/null
@@ -0,0 +1,32 @@
+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" },
diff --git a/queue-3.10/asoc-wm8994-correct-bclk-div-348-to-384.patch b/queue-3.10/asoc-wm8994-correct-bclk-div-348-to-384.patch
new file mode 100644 (file)
index 0000000..297f5bf
--- /dev/null
@@ -0,0 +1,32 @@
+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
+@@ -2679,7 +2679,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[] = {
diff --git a/queue-3.10/d_walk-might-skip-too-much.patch b/queue-3.10/d_walk-might-skip-too-much.patch
new file mode 100644 (file)
index 0000000..a9784cb
--- /dev/null
@@ -0,0 +1,43 @@
+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
+@@ -1179,13 +1179,13 @@ ascend:
+               /* might go back up the wrong parent if we have had a rename. */
+               if (!locked && read_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;
+       }
diff --git a/queue-3.10/lib-fix-strnlen_user-to-not-touch-memory-after-specified-maximum.patch b/queue-3.10/lib-fix-strnlen_user-to-not-touch-memory-after-specified-maximum.patch
new file mode 100644 (file)
index 0000000..c3ffb7d
--- /dev/null
@@ -0,0 +1,37 @@
+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))))
index adff3f3d68cafdfbe79a9625c8b1716a4783e7b8..8d3d38b547f0ab527eb0cd343bb3248c5b25d226 100644 (file)
@@ -10,3 +10,11 @@ fs-omfs-add-null-terminator-in-the-end-up-the-token-list.patch
 lguest-fix-out-by-one-error-in-address-checking.patch
 libceph-request-a-new-osdmap-if-lingering-request-maps-to-no-osd.patch
 hwmon-ntc_thermistor-ensure-iio-channel-is-of-type-iio_voltage.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
+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