]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.10-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 31 Jul 2013 13:05:19 +0000 (06:05 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 31 Jul 2013 13:05:19 +0000 (06:05 -0700)
added patches:
alsa-hda-guess-what-it-s-two-more-dell-headset-mic-quirks.patch
alsa-hda-yet-another-dell-headset-mic-quirk.patch
firewire-fix-libdc1394-flycap2-iso-event-regression.patch

queue-3.10/alsa-hda-guess-what-it-s-two-more-dell-headset-mic-quirks.patch [new file with mode: 0644]
queue-3.10/alsa-hda-yet-another-dell-headset-mic-quirk.patch [new file with mode: 0644]
queue-3.10/firewire-fix-libdc1394-flycap2-iso-event-regression.patch [new file with mode: 0644]
queue-3.10/series

diff --git a/queue-3.10/alsa-hda-guess-what-it-s-two-more-dell-headset-mic-quirks.patch b/queue-3.10/alsa-hda-guess-what-it-s-two-more-dell-headset-mic-quirks.patch
new file mode 100644 (file)
index 0000000..2cbcf02
--- /dev/null
@@ -0,0 +1,32 @@
+From cd6fb6793a33e2b02af6e05a8d3f735f7c88a943 Mon Sep 17 00:00:00 2001
+From: David Henningsson <david.henningsson@canonical.com>
+Date: Fri, 28 Jun 2013 11:09:56 +0200
+Subject: ALSA: hda - Guess what, it's two more Dell headset mic quirks
+
+From: David Henningsson <david.henningsson@canonical.com>
+
+commit cd6fb6793a33e2b02af6e05a8d3f735f7c88a943 upstream.
+
+Add two more machines that need quirks for headset mics to work.
+
+Tested-by: Shawn Wang <shawn.wang@canonical.com>
+BugLink: https://bugs.launchpad.net/bugs/1195636
+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_realtek.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -3495,6 +3495,8 @@ static const struct snd_pci_quirk alc269
+       SND_PCI_QUIRK(0x1028, 0x05f5, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
+       SND_PCI_QUIRK(0x1028, 0x05f6, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
+       SND_PCI_QUIRK(0x1028, 0x05f8, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
++      SND_PCI_QUIRK(0x1028, 0x05f9, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
++      SND_PCI_QUIRK(0x1028, 0x05fb, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
+       SND_PCI_QUIRK(0x1028, 0x0606, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
+       SND_PCI_QUIRK(0x1028, 0x0608, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
+       SND_PCI_QUIRK(0x1028, 0x0609, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
diff --git a/queue-3.10/alsa-hda-yet-another-dell-headset-mic-quirk.patch b/queue-3.10/alsa-hda-yet-another-dell-headset-mic-quirk.patch
new file mode 100644 (file)
index 0000000..5da8c92
--- /dev/null
@@ -0,0 +1,31 @@
+From 6c29d68a82ec68db18241b818d03e7864c052be9 Mon Sep 17 00:00:00 2001
+From: David Henningsson <david.henningsson@canonical.com>
+Date: Fri, 28 Jun 2013 08:53:34 +0200
+Subject: ALSA: hda - Yet another Dell headset mic quirk
+
+From: David Henningsson <david.henningsson@canonical.com>
+
+commit 6c29d68a82ec68db18241b818d03e7864c052be9 upstream.
+
+This quirk is needed for the headset mic to work on this Dell
+machine.
+
+BugLink: https://bugs.launchpad.net/bugs/1195597
+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_realtek.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -3498,6 +3498,7 @@ static const struct snd_pci_quirk alc269
+       SND_PCI_QUIRK(0x1028, 0x0606, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
+       SND_PCI_QUIRK(0x1028, 0x0608, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
+       SND_PCI_QUIRK(0x1028, 0x0609, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
++      SND_PCI_QUIRK(0x1028, 0x0613, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE),
+       SND_PCI_QUIRK(0x103c, 0x1586, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC2),
+       SND_PCI_QUIRK(0x103c, 0x18e6, "HP", ALC269_FIXUP_HP_GPIO_LED),
+       SND_PCI_QUIRK(0x103c, 0x1973, "HP Pavilion", ALC269_FIXUP_HP_MUTE_LED_MIC1),
diff --git a/queue-3.10/firewire-fix-libdc1394-flycap2-iso-event-regression.patch b/queue-3.10/firewire-fix-libdc1394-flycap2-iso-event-regression.patch
new file mode 100644 (file)
index 0000000..806aca4
--- /dev/null
@@ -0,0 +1,101 @@
+From 0699a73af3811b66b1ab5650575acee5eea841ab Mon Sep 17 00:00:00 2001
+From: Clemens Ladisch <clemens@ladisch.de>
+Date: Mon, 22 Jul 2013 21:32:09 +0200
+Subject: firewire: fix libdc1394/FlyCap2 iso event regression
+
+From: Clemens Ladisch <clemens@ladisch.de>
+
+commit 0699a73af3811b66b1ab5650575acee5eea841ab upstream.
+
+Commit 18d627113b83 (firewire: prevent dropping of completed iso packet
+header data) was intended to be an obvious bug fix, but libdc1394 and
+FlyCap2 depend on the old behaviour by ignoring all returned information
+and thus not noticing that not all packets have been received yet.  The
+result was that the video frame buffers would be saved before they
+contained the correct data.
+
+Reintroduce the old behaviour for old clients.
+
+Tested-by: Stepan Salenikovich <stepan.salenikovich@gmail.com>
+Tested-by: Josep Bosch <jep250@gmail.com>
+Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
+Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/firewire/core-cdev.c       |    3 +++
+ drivers/firewire/ohci.c            |   10 ++++++++--
+ include/linux/firewire.h           |    1 +
+ include/uapi/linux/firewire-cdev.h |    4 ++--
+ 4 files changed, 14 insertions(+), 4 deletions(-)
+
+--- a/drivers/firewire/core-cdev.c
++++ b/drivers/firewire/core-cdev.c
+@@ -54,6 +54,7 @@
+ #define FW_CDEV_KERNEL_VERSION                        5
+ #define FW_CDEV_VERSION_EVENT_REQUEST2                4
+ #define FW_CDEV_VERSION_ALLOCATE_REGION_END   4
++#define FW_CDEV_VERSION_AUTO_FLUSH_ISO_OVERFLOW       5
+ struct client {
+       u32 version;
+@@ -1005,6 +1006,8 @@ static int ioctl_create_iso_context(stru
+                       a->channel, a->speed, a->header_size, cb, client);
+       if (IS_ERR(context))
+               return PTR_ERR(context);
++      if (client->version < FW_CDEV_VERSION_AUTO_FLUSH_ISO_OVERFLOW)
++              context->drop_overflow_headers = true;
+       /* We only support one context at this time. */
+       spin_lock_irq(&client->lock);
+--- a/drivers/firewire/ohci.c
++++ b/drivers/firewire/ohci.c
+@@ -2749,8 +2749,11 @@ static void copy_iso_headers(struct iso_
+ {
+       u32 *ctx_hdr;
+-      if (ctx->header_length + ctx->base.header_size > PAGE_SIZE)
++      if (ctx->header_length + ctx->base.header_size > PAGE_SIZE) {
++              if (ctx->base.drop_overflow_headers)
++                      return;
+               flush_iso_completions(ctx);
++      }
+       ctx_hdr = ctx->header + ctx->header_length;
+       ctx->last_timestamp = (u16)le32_to_cpu((__force __le32)dma_hdr[0]);
+@@ -2910,8 +2913,11 @@ static int handle_it_packet(struct conte
+       sync_it_packet_for_cpu(context, d);
+-      if (ctx->header_length + 4 > PAGE_SIZE)
++      if (ctx->header_length + 4 > PAGE_SIZE) {
++              if (ctx->base.drop_overflow_headers)
++                      return 1;
+               flush_iso_completions(ctx);
++      }
+       ctx_hdr = ctx->header + ctx->header_length;
+       ctx->last_timestamp = le16_to_cpu(last->res_count);
+--- a/include/linux/firewire.h
++++ b/include/linux/firewire.h
+@@ -434,6 +434,7 @@ struct fw_iso_context {
+       int type;
+       int channel;
+       int speed;
++      bool drop_overflow_headers;
+       size_t header_size;
+       union {
+               fw_iso_callback_t sc;
+--- a/include/uapi/linux/firewire-cdev.h
++++ b/include/uapi/linux/firewire-cdev.h
+@@ -215,8 +215,8 @@ struct fw_cdev_event_request2 {
+  * with the %FW_CDEV_ISO_INTERRUPT bit set, when explicitly requested with
+  * %FW_CDEV_IOC_FLUSH_ISO, or when there have been so many completed packets
+  * without the interrupt bit set that the kernel's internal buffer for @header
+- * is about to overflow.  (In the last case, kernels with ABI version < 5 drop
+- * header data up to the next interrupt packet.)
++ * is about to overflow.  (In the last case, ABI versions < 5 drop header data
++ * up to the next interrupt packet.)
+  *
+  * Isochronous transmit events (context type %FW_CDEV_ISO_CONTEXT_TRANSMIT):
+  *
index 9054f82f40154803f5ea0d7d55e084e8d54fa110..96ed5a8635b668c8a7d62c6469933838c05ee549 100644 (file)
@@ -4,3 +4,6 @@ iscsi-target-fix-tfc_tpg_nacl_auth_cit-configfs-length-overflow.patch
 iser-target-fix-session-reset-bug-with-rdma_cm_event_disconnected.patch
 iscsi-target-fix-iscsi_op_scsi_tmfunc-handling-for-iser.patch
 usb-storage-add-microvault-flash-drive-to-unusual_devs.patch
+alsa-hda-yet-another-dell-headset-mic-quirk.patch
+alsa-hda-guess-what-it-s-two-more-dell-headset-mic-quirks.patch
+firewire-fix-libdc1394-flycap2-iso-event-regression.patch