]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.14-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 Apr 2014 00:03:21 +0000 (17:03 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 Apr 2014 00:03:21 +0000 (17:03 -0700)
added patches:
alsa-hda-add-headset-mic-detect-quirks-for-three-dell-laptops.patch
alsa-hda-enable-beep-for-asus-1015e.patch
alsa-hda-fix-silent-speaker-output-due-to-mute-led-fixup.patch
alsa-hda-realtek-add-headset-mic-support-for-dell-machine.patch
alsa-hda-realtek-add-support-of-alc288-codec.patch
alsa-hda-realtek-restore-default-value-for-alc283.patch
alsa-ice1712-fix-boundary-checks-in-pcm-pointer-ops.patch

queue-3.14/alsa-hda-add-headset-mic-detect-quirks-for-three-dell-laptops.patch [new file with mode: 0644]
queue-3.14/alsa-hda-enable-beep-for-asus-1015e.patch [new file with mode: 0644]
queue-3.14/alsa-hda-fix-silent-speaker-output-due-to-mute-led-fixup.patch [new file with mode: 0644]
queue-3.14/alsa-hda-realtek-add-headset-mic-support-for-dell-machine.patch [new file with mode: 0644]
queue-3.14/alsa-hda-realtek-add-support-of-alc288-codec.patch [new file with mode: 0644]
queue-3.14/alsa-hda-realtek-restore-default-value-for-alc283.patch [new file with mode: 0644]
queue-3.14/alsa-ice1712-fix-boundary-checks-in-pcm-pointer-ops.patch [new file with mode: 0644]
queue-3.14/series

diff --git a/queue-3.14/alsa-hda-add-headset-mic-detect-quirks-for-three-dell-laptops.patch b/queue-3.14/alsa-hda-add-headset-mic-detect-quirks-for-three-dell-laptops.patch
new file mode 100644 (file)
index 0000000..e80b25f
--- /dev/null
@@ -0,0 +1,36 @@
+From a870593bab179ca402ead455f45af6e4404a2a7f Mon Sep 17 00:00:00 2001
+From: Hui Wang <hui.wang@canonical.com>
+Date: Wed, 26 Mar 2014 10:27:41 +0800
+Subject: ALSA: hda - add headset mic detect quirks for three Dell laptops
+
+From: Hui Wang <hui.wang@canonical.com>
+
+commit a870593bab179ca402ead455f45af6e4404a2a7f upstream.
+
+When we plug a 3-ring headset on the Dell machines (VID: 0x10ec0255,
+SID: 0x10280632; VID: 0x10ec0293, SID: 0x1028062c; VID: 0x10ec0293,
+SID: 0x1028062e), the headset mic can't be detected, after apply this
+patch, the headset mic can work well.
+
+BugLink: https://bugs.launchpad.net/bugs/1297581
+Cc: David Henningsson <david.henningsson@canonical.com>
+Signed-off-by: Hui Wang <hui.wang@canonical.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/hda/patch_realtek.c |    3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -4404,6 +4404,9 @@ static const struct snd_pci_quirk alc269
+       SND_PCI_QUIRK(0x1028, 0x0616, "Dell Vostro 5470", ALC290_FIXUP_SUBWOOFER_HSJACK),
+       SND_PCI_QUIRK(0x1028, 0x061f, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE),
+       SND_PCI_QUIRK(0x1028, 0x0629, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
++      SND_PCI_QUIRK(0x1028, 0x062c, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
++      SND_PCI_QUIRK(0x1028, 0x062e, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
++      SND_PCI_QUIRK(0x1028, 0x0632, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE),
+       SND_PCI_QUIRK(0x1028, 0x0638, "Dell Inspiron 5439", ALC290_FIXUP_MONO_SPEAKERS_HSJACK),
+       SND_PCI_QUIRK(0x1028, 0x063e, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
+       SND_PCI_QUIRK(0x1028, 0x063f, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE),
diff --git a/queue-3.14/alsa-hda-enable-beep-for-asus-1015e.patch b/queue-3.14/alsa-hda-enable-beep-for-asus-1015e.patch
new file mode 100644 (file)
index 0000000..9a0f93b
--- /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
+@@ -993,6 +993,7 @@ static int alc_codec_rename_from_preset(
+ 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, 0x8376, "EeePC", 1),
+       SND_PCI_QUIRK(0x1043, 0x83ce, "EeePC", 1),
diff --git a/queue-3.14/alsa-hda-fix-silent-speaker-output-due-to-mute-led-fixup.patch b/queue-3.14/alsa-hda-fix-silent-speaker-output-due-to-mute-led-fixup.patch
new file mode 100644 (file)
index 0000000..4466637
--- /dev/null
@@ -0,0 +1,40 @@
+From 415d555e6b398b00fc1733f0113065a54df9106a Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Thu, 3 Apr 2014 11:51:21 +0200
+Subject: ALSA: hda - Fix silent speaker output due to mute LED fixup
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 415d555e6b398b00fc1733f0113065a54df9106a upstream.
+
+The recent fixups for HP laptops to support the mute LED made the
+speaker output silent on some machines.  It turned out that they use
+the NID 0x18 for the speaker while it's also used for controlling the
+LED via VREF bits although the current driver code blindly assumes
+that such a node is a mic pin (where 0x18 is usually so).
+
+This patch fixes the problem by only changing the VREF bits and
+keeping the other pin ctl bits.
+
+Reported-and-tested-by: Hui Wang <hui.wang@canonical.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/hda/patch_realtek.c |    5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -3212,8 +3212,9 @@ static void alc269_fixup_mic_mute_hook(v
+       if (spec->mute_led_polarity)
+               enabled = !enabled;
+-      pinval = AC_PINCTL_IN_EN |
+-              (enabled ? AC_PINCTL_VREF_HIZ : AC_PINCTL_VREF_80);
++      pinval = snd_hda_codec_get_pin_target(codec, spec->mute_led_nid);
++      pinval &= ~AC_PINCTL_VREFEN;
++      pinval |= enabled ? AC_PINCTL_VREF_HIZ : AC_PINCTL_VREF_80;
+       if (spec->mute_led_nid)
+               snd_hda_set_pin_ctl_cache(codec, spec->mute_led_nid, pinval);
+ }
diff --git a/queue-3.14/alsa-hda-realtek-add-headset-mic-support-for-dell-machine.patch b/queue-3.14/alsa-hda-realtek-add-headset-mic-support-for-dell-machine.patch
new file mode 100644 (file)
index 0000000..4db689a
--- /dev/null
@@ -0,0 +1,28 @@
+From 8dc9abb93dde94e7f2bc719032fe16f5713df05c Mon Sep 17 00:00:00 2001
+From: Kailang Yang <kailang@realtek.com>
+Date: Wed, 16 Apr 2014 15:53:12 +0800
+Subject: ALSA: hda/realtek - Add headset Mic support for Dell machine
+
+From: Kailang Yang <kailang@realtek.com>
+
+commit 8dc9abb93dde94e7f2bc719032fe16f5713df05c upstream.
+
+Signed-off-by: Kailang Yang <kailang@realtek.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/hda/patch_realtek.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -5275,6 +5275,8 @@ static const struct snd_pci_quirk alc662
+       SND_PCI_QUIRK(0x1028, 0x0626, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE),
+       SND_PCI_QUIRK(0x1028, 0x0628, "Dell", ALC668_FIXUP_AUTO_MUTE),
+       SND_PCI_QUIRK(0x1028, 0x064e, "Dell", ALC668_FIXUP_AUTO_MUTE),
++      SND_PCI_QUIRK(0x1028, 0x0696, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE),
++      SND_PCI_QUIRK(0x1028, 0x0698, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE),
+       SND_PCI_QUIRK(0x103c, 0x1632, "HP RP5800", ALC662_FIXUP_HP_RP5800),
+       SND_PCI_QUIRK(0x1043, 0x11cd, "Asus N550", ALC662_FIXUP_BASS_1A_CHMAP),
+       SND_PCI_QUIRK(0x1043, 0x1477, "ASUS N56VZ", ALC662_FIXUP_BASS_CHMAP),
diff --git a/queue-3.14/alsa-hda-realtek-add-support-of-alc288-codec.patch b/queue-3.14/alsa-hda-realtek-add-support-of-alc288-codec.patch
new file mode 100644 (file)
index 0000000..2fdc93f
--- /dev/null
@@ -0,0 +1,35 @@
+From 7c66593286bcd153e4868383e675673a27071bd5 Mon Sep 17 00:00:00 2001
+From: Kailang Yang <kailang@realtek.com>
+Date: Mon, 14 Apr 2014 15:09:44 +0800
+Subject: ALSA: hda/realtek - Add support of ALC288 codec
+
+From: Kailang Yang <kailang@realtek.com>
+
+commit 7c66593286bcd153e4868383e675673a27071bd5 upstream.
+
+Signed-off-by: Kailang Yang <kailang@realtek.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/hda/patch_realtek.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -4708,6 +4708,7 @@ static int patch_alc269(struct hda_codec
+               spec->codec_variant = ALC269_TYPE_ALC285;
+               break;
+       case 0x10ec0286:
++      case 0x10ec0288:
+               spec->codec_variant = ALC269_TYPE_ALC286;
+               break;
+       case 0x10ec0255:
+@@ -5514,6 +5515,7 @@ static const struct hda_codec_preset snd
+       { .id = 0x10ec0284, .name = "ALC284", .patch = patch_alc269 },
+       { .id = 0x10ec0285, .name = "ALC285", .patch = patch_alc269 },
+       { .id = 0x10ec0286, .name = "ALC286", .patch = patch_alc269 },
++      { .id = 0x10ec0288, .name = "ALC288", .patch = patch_alc269 },
+       { .id = 0x10ec0290, .name = "ALC290", .patch = patch_alc269 },
+       { .id = 0x10ec0292, .name = "ALC292", .patch = patch_alc269 },
+       { .id = 0x10ec0293, .name = "ALC293", .patch = patch_alc269 },
diff --git a/queue-3.14/alsa-hda-realtek-restore-default-value-for-alc283.patch b/queue-3.14/alsa-hda-realtek-restore-default-value-for-alc283.patch
new file mode 100644 (file)
index 0000000..6a4191a
--- /dev/null
@@ -0,0 +1,123 @@
+From 6bd55b04fe05cb26094b0fe494c7a207e6c0c36e Mon Sep 17 00:00:00 2001
+From: Kailang Yang <kailang@realtek.com>
+Date: Mon, 17 Mar 2014 13:51:27 +0800
+Subject: ALSA: hda/realtek - Restore default value for ALC283
+
+From: Kailang Yang <kailang@realtek.com>
+
+commit 6bd55b04fe05cb26094b0fe494c7a207e6c0c36e upstream.
+
+Restore the registers to prevent the abnormal digital power supply
+rising ratio/sequence to the codec and causing the incorrect default
+codec register restoration during initialization.
+
+Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=71861
+Signed-off-by: Kailang Yang <kailang@realtek.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/hda/patch_realtek.c |   85 ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 85 insertions(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -2786,6 +2786,89 @@ static void alc269_shutup(struct hda_cod
+       snd_hda_shutup_pins(codec);
+ }
++static void alc283_restore_default_value(struct hda_codec *codec)
++{
++      int val;
++
++      /* Power Down Control */
++      alc_write_coef_idx(codec, 0x03, 0x0002);
++      /* FIFO and filter clock */
++      alc_write_coef_idx(codec, 0x05, 0x0700);
++      /* DMIC control */
++      alc_write_coef_idx(codec, 0x07, 0x0200);
++      /* Analog clock */
++      val = alc_read_coef_idx(codec, 0x06);
++      alc_write_coef_idx(codec, 0x06, (val & ~0x00f0) | 0x0);
++      /* JD */
++      val = alc_read_coef_idx(codec, 0x08);
++      alc_write_coef_idx(codec, 0x08, (val & ~0xfffc) | 0x0c2c);
++      /* JD offset1 */
++      alc_write_coef_idx(codec, 0x0a, 0xcccc);
++      /* JD offset2 */
++      alc_write_coef_idx(codec, 0x0b, 0xcccc);
++      /* LDO1/2/3, DAC/ADC */
++      alc_write_coef_idx(codec, 0x0e, 0x6fc0);
++      /* JD */
++      val = alc_read_coef_idx(codec, 0x0f);
++      alc_write_coef_idx(codec, 0x0f, (val & ~0xf800) | 0x1000);
++      /* Capless */
++      val = alc_read_coef_idx(codec, 0x10);
++      alc_write_coef_idx(codec, 0x10, (val & ~0xfc00) | 0x0c00);
++      /* Class D test 4 */
++      alc_write_coef_idx(codec, 0x3a, 0x0);
++      /* IO power down directly */
++      val = alc_read_coef_idx(codec, 0x0c);
++      alc_write_coef_idx(codec, 0x0c, (val & ~0xfe00) | 0x0);
++      /* ANC */
++      alc_write_coef_idx(codec, 0x22, 0xa0c0);
++      /* AGC MUX */
++      val = alc_read_coefex_idx(codec, 0x53, 0x01);
++      alc_write_coefex_idx(codec, 0x53, 0x01, (val & ~0x000f) | 0x0008);
++      /* DAC simple content protection */
++      val = alc_read_coef_idx(codec, 0x1d);
++      alc_write_coef_idx(codec, 0x1d, (val & ~0x00e0) | 0x0);
++      /* ADC simple content protection */
++      val = alc_read_coef_idx(codec, 0x1f);
++      alc_write_coef_idx(codec, 0x1f, (val & ~0x00e0) | 0x0);
++      /* DAC ADC Zero Detection */
++      alc_write_coef_idx(codec, 0x21, 0x8804);
++      /* PLL */
++      alc_write_coef_idx(codec, 0x2e, 0x2902);
++      /* capless control 2 */
++      alc_write_coef_idx(codec, 0x33, 0xa080);
++      /* capless control 3 */
++      alc_write_coef_idx(codec, 0x34, 0x3400);
++      /* capless control 4 */
++      alc_write_coef_idx(codec, 0x35, 0x2f3e);
++      /* capless control 5 */
++      alc_write_coef_idx(codec, 0x36, 0x0);
++      /* class D test 2 */
++      val = alc_read_coef_idx(codec, 0x38);
++      alc_write_coef_idx(codec, 0x38, (val & ~0x0fff) | 0x0900);
++      /* class D test 3 */
++      alc_write_coef_idx(codec, 0x39, 0x110a);
++      /* class D test 5 */
++      val = alc_read_coef_idx(codec, 0x3b);
++      alc_write_coef_idx(codec, 0x3b, (val & ~0x00f8) | 0x00d8);
++      /* class D test 6 */
++      alc_write_coef_idx(codec, 0x3c, 0x0014);
++      /* classD OCP */
++      alc_write_coef_idx(codec, 0x3d, 0xc2ba);
++      /* classD pure DC test */
++      val = alc_read_coef_idx(codec, 0x42);
++      alc_write_coef_idx(codec, 0x42, (val & ~0x0f80) | 0x0);
++      /* test mode */
++      alc_write_coef_idx(codec, 0x49, 0x0);
++      /* Class D DC enable */
++      val = alc_read_coef_idx(codec, 0x40);
++      alc_write_coef_idx(codec, 0x40, (val & ~0xf800) | 0x9800);
++      /* DC offset */
++      val = alc_read_coef_idx(codec, 0x42);
++      alc_write_coef_idx(codec, 0x42, (val & ~0xf000) | 0x2000);
++      /* Class D amp control */
++      alc_write_coef_idx(codec, 0x37, 0xfc06);
++}
++
+ static void alc283_init(struct hda_codec *codec)
+ {
+       struct alc_spec *spec = codec->spec;
+@@ -2793,6 +2876,8 @@ static void alc283_init(struct hda_codec
+       bool hp_pin_sense;
+       int val;
++      alc283_restore_default_value(codec);
++
+       if (!hp_pin)
+               return;
+       hp_pin_sense = snd_hda_jack_detect(codec, hp_pin);
diff --git a/queue-3.14/alsa-ice1712-fix-boundary-checks-in-pcm-pointer-ops.patch b/queue-3.14/alsa-ice1712-fix-boundary-checks-in-pcm-pointer-ops.patch
new file mode 100644 (file)
index 0000000..dcd3acb
--- /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
+@@ -685,9 +685,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)
+@@ -704,9 +705,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)
+@@ -717,9 +719,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 = {
+@@ -1113,9 +1116,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)
+@@ -1126,9 +1130,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 29283285ef2331394785af193ba352a1a3d240c2..5c69df6d8125851fd84f0f24997a80409e38946d 100644 (file)
@@ -19,3 +19,10 @@ arm-8027-1-fix-do_div-bug-in-big-endian-systems.patch
 arm-8030-1-arm-kdump-add-arch_crash_save_vmcoreinfo.patch
 arm-mvebu-ensure-the-mdio-node-has-a-clock-reference-on-armada-370-xp.patch
 arm-pxa-hx4700.h-include-irqs.h-for-pxa_nr_builtin_gpio.patch
+alsa-hda-realtek-restore-default-value-for-alc283.patch
+alsa-hda-add-headset-mic-detect-quirks-for-three-dell-laptops.patch
+alsa-hda-enable-beep-for-asus-1015e.patch
+alsa-ice1712-fix-boundary-checks-in-pcm-pointer-ops.patch
+alsa-hda-fix-silent-speaker-output-due-to-mute-led-fixup.patch
+alsa-hda-realtek-add-support-of-alc288-codec.patch
+alsa-hda-realtek-add-headset-mic-support-for-dell-machine.patch