]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 Apr 2014 00:03:27 +0000 (17:03 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 Apr 2014 00:03:27 +0000 (17:03 -0700)
added patches:
alsa-hda-enable-beep-for-asus-1015e.patch
alsa-ice1712-fix-boundary-checks-in-pcm-pointer-ops.patch

queue-3.4/alsa-hda-enable-beep-for-asus-1015e.patch [new file with mode: 0644]
queue-3.4/alsa-ice1712-fix-boundary-checks-in-pcm-pointer-ops.patch [new file with mode: 0644]
queue-3.4/series

diff --git a/queue-3.4/alsa-hda-enable-beep-for-asus-1015e.patch b/queue-3.4/alsa-hda-enable-beep-for-asus-1015e.patch
new file mode 100644 (file)
index 0000000..a43e857
--- /dev/null
@@ -0,0 +1,34 @@
+From a4b7f21d7b42b33609df3f86992a8deff80abfaf Mon Sep 17 00:00:00 2001
+From: "W. Trevor King" <wking@tremily.us>
+Date: Sat, 29 Mar 2014 17:47:24 -0700
+Subject: ALSA: hda - Enable beep for ASUS 1015E
+
+From: "W. Trevor King" <wking@tremily.us>
+
+commit a4b7f21d7b42b33609df3f86992a8deff80abfaf upstream.
+
+The `lspci -nnvv` output contains (wrapped for line length):
+
+  00:1b.0 Audio device [0403]:
+    Intel Corporation 7 Series/C210 Series Chipset Family
+    High Definition Audio Controller [8086:1e20] (rev 04)
+        Subsystem: ASUSTeK Computer Inc. Device [1043:115d]
+
+Signed-off-by: W. Trevor King <wking@tremily.us>
+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
+@@ -4323,6 +4323,7 @@ static void alc_auto_init_std(struct hda
+ static const struct snd_pci_quirk beep_white_list[] = {
+       SND_PCI_QUIRK(0x1043, 0x103c, "ASUS", 1),
++      SND_PCI_QUIRK(0x1043, 0x115d, "ASUS", 1),
+       SND_PCI_QUIRK(0x1043, 0x829f, "ASUS", 1),
+       SND_PCI_QUIRK(0x1043, 0x83ce, "EeePC", 1),
+       SND_PCI_QUIRK(0x1043, 0x831a, "EeePC", 1),
diff --git a/queue-3.4/alsa-ice1712-fix-boundary-checks-in-pcm-pointer-ops.patch b/queue-3.4/alsa-ice1712-fix-boundary-checks-in-pcm-pointer-ops.patch
new file mode 100644 (file)
index 0000000..2d118d8
--- /dev/null
@@ -0,0 +1,87 @@
+From 4f8e940095536bc002a81666a4107a581c84e9b9 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Tue, 8 Apr 2014 16:58:34 +0200
+Subject: ALSA: ice1712: Fix boundary checks in PCM pointer ops
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 4f8e940095536bc002a81666a4107a581c84e9b9 upstream.
+
+PCM pointer callbacks in ice1712 driver check the buffer size boundary
+wrongly between bytes and frames.  This leads to PCM core warnings
+like:
+   snd_pcm_update_hw_ptr0: 105 callbacks suppressed
+   ALSA pcm_lib.c:352 BUG: pcmC3D0c:0, pos = 5461, buffer size = 5461, period size = 2730
+
+This patch fixes these checks to be placed after the proper unit
+conversions.
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/ice1712/ice1712.c |   15 ++++++++++-----
+ 1 file changed, 10 insertions(+), 5 deletions(-)
+
+--- a/sound/pci/ice1712/ice1712.c
++++ b/sound/pci/ice1712/ice1712.c
+@@ -686,9 +686,10 @@ static snd_pcm_uframes_t snd_ice1712_pla
+       if (!(snd_ice1712_read(ice, ICE1712_IREG_PBK_CTRL) & 1))
+               return 0;
+       ptr = runtime->buffer_size - inw(ice->ddma_port + 4);
++      ptr = bytes_to_frames(substream->runtime, ptr);
+       if (ptr == runtime->buffer_size)
+               ptr = 0;
+-      return bytes_to_frames(substream->runtime, ptr);
++      return ptr;
+ }
+ static snd_pcm_uframes_t snd_ice1712_playback_ds_pointer(struct snd_pcm_substream *substream)
+@@ -705,9 +706,10 @@ static snd_pcm_uframes_t snd_ice1712_pla
+               addr = ICE1712_DSC_ADDR0;
+       ptr = snd_ice1712_ds_read(ice, substream->number * 2, addr) -
+               ice->playback_con_virt_addr[substream->number];
++      ptr = bytes_to_frames(substream->runtime, ptr);
+       if (ptr == substream->runtime->buffer_size)
+               ptr = 0;
+-      return bytes_to_frames(substream->runtime, ptr);
++      return ptr;
+ }
+ static snd_pcm_uframes_t snd_ice1712_capture_pointer(struct snd_pcm_substream *substream)
+@@ -718,9 +720,10 @@ static snd_pcm_uframes_t snd_ice1712_cap
+       if (!(snd_ice1712_read(ice, ICE1712_IREG_CAP_CTRL) & 1))
+               return 0;
+       ptr = inl(ICEREG(ice, CONCAP_ADDR)) - ice->capture_con_virt_addr;
++      ptr = bytes_to_frames(substream->runtime, ptr);
+       if (ptr == substream->runtime->buffer_size)
+               ptr = 0;
+-      return bytes_to_frames(substream->runtime, ptr);
++      return ptr;
+ }
+ static const struct snd_pcm_hardware snd_ice1712_playback = {
+@@ -1114,9 +1117,10 @@ static snd_pcm_uframes_t snd_ice1712_pla
+       if (!(inl(ICEMT(ice, PLAYBACK_CONTROL)) & ICE1712_PLAYBACK_START))
+               return 0;
+       ptr = ice->playback_pro_size - (inw(ICEMT(ice, PLAYBACK_SIZE)) << 2);
++      ptr = bytes_to_frames(substream->runtime, ptr);
+       if (ptr == substream->runtime->buffer_size)
+               ptr = 0;
+-      return bytes_to_frames(substream->runtime, ptr);
++      return ptr;
+ }
+ static snd_pcm_uframes_t snd_ice1712_capture_pro_pointer(struct snd_pcm_substream *substream)
+@@ -1127,9 +1131,10 @@ static snd_pcm_uframes_t snd_ice1712_cap
+       if (!(inl(ICEMT(ice, PLAYBACK_CONTROL)) & ICE1712_CAPTURE_START_SHADOW))
+               return 0;
+       ptr = ice->capture_pro_size - (inw(ICEMT(ice, CAPTURE_SIZE)) << 2);
++      ptr = bytes_to_frames(substream->runtime, ptr);
+       if (ptr == substream->runtime->buffer_size)
+               ptr = 0;
+-      return bytes_to_frames(substream->runtime, ptr);
++      return ptr;
+ }
+ static const struct snd_pcm_hardware snd_ice1712_playback_pro = {
index 3b2871f0c20ef154c5008d12354febeb27b30517..d7bda30f7dd2e3f352d563730e991ff591f18389 100644 (file)
@@ -4,3 +4,5 @@ arm-omap3-hwmod-data-correct-clock-domains-for-usb-modules.patch
 arm-8027-1-fix-do_div-bug-in-big-endian-systems.patch
 arm-8030-1-arm-kdump-add-arch_crash_save_vmcoreinfo.patch
 arm-pxa-hx4700.h-include-irqs.h-for-pxa_nr_builtin_gpio.patch
+alsa-hda-enable-beep-for-asus-1015e.patch
+alsa-ice1712-fix-boundary-checks-in-pcm-pointer-ops.patch