]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.14-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 7 Aug 2015 21:14:28 +0000 (14:14 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 7 Aug 2015 21:14:28 +0000 (14:14 -0700)
added patches:
alsa-hda-fix-macbook-pro-5-2-quirk.patch
alsa-usb-audio-add-db-range-mapping-for-some-devices.patch
alsa-usb-audio-add-midi-support-for-steinberg-mi2-mi4.patch
dma-debug-skip-debug_dma_assert_idle-when-disabled.patch
genirq-prevent-resend-to-interrupts-marked-irq_nested_thread.patch

queue-3.14/alsa-hda-fix-macbook-pro-5-2-quirk.patch [new file with mode: 0644]
queue-3.14/alsa-usb-audio-add-db-range-mapping-for-some-devices.patch [new file with mode: 0644]
queue-3.14/alsa-usb-audio-add-midi-support-for-steinberg-mi2-mi4.patch [new file with mode: 0644]
queue-3.14/dma-debug-skip-debug_dma_assert_idle-when-disabled.patch [new file with mode: 0644]
queue-3.14/genirq-prevent-resend-to-interrupts-marked-irq_nested_thread.patch [new file with mode: 0644]
queue-3.14/series

diff --git a/queue-3.14/alsa-hda-fix-macbook-pro-5-2-quirk.patch b/queue-3.14/alsa-hda-fix-macbook-pro-5-2-quirk.patch
new file mode 100644 (file)
index 0000000..b4f9fc9
--- /dev/null
@@ -0,0 +1,34 @@
+From 649ccd08534ee26deb2e5b08509800d0e95167f5 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Thu, 30 Jul 2015 22:30:29 +0200
+Subject: ALSA: hda - Fix MacBook Pro 5,2 quirk
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 649ccd08534ee26deb2e5b08509800d0e95167f5 upstream.
+
+MacBook Pro 5,2 with ALC889 codec had already a fixup entry, but this
+seems not working correctly, a fix for pin NID 0x15 is needed in
+addition.  It's equivalent with the fixup for MacBook Air 1,1, so use
+this instead.
+
+Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=102131
+Reported-and-tested-by: Jeffery Miller <jefferym@gmail.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, 1 insertion(+), 1 deletion(-)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -2282,7 +2282,7 @@ static const struct snd_pci_quirk alc882
+       SND_PCI_QUIRK(0x106b, 0x4300, "iMac 9,1", ALC889_FIXUP_IMAC91_VREF),
+       SND_PCI_QUIRK(0x106b, 0x4600, "MacbookPro 5,2", ALC889_FIXUP_IMAC91_VREF),
+       SND_PCI_QUIRK(0x106b, 0x4900, "iMac 9,1 Aluminum", ALC889_FIXUP_IMAC91_VREF),
+-      SND_PCI_QUIRK(0x106b, 0x4a00, "Macbook 5,2", ALC889_FIXUP_IMAC91_VREF),
++      SND_PCI_QUIRK(0x106b, 0x4a00, "Macbook 5,2", ALC889_FIXUP_MBA11_VREF),
+       SND_PCI_QUIRK(0x1071, 0x8258, "Evesham Voyaeger", ALC882_FIXUP_EAPD),
+       SND_PCI_QUIRK(0x1462, 0x7350, "MSI-7350", ALC889_FIXUP_CD),
diff --git a/queue-3.14/alsa-usb-audio-add-db-range-mapping-for-some-devices.patch b/queue-3.14/alsa-usb-audio-add-db-range-mapping-for-some-devices.patch
new file mode 100644 (file)
index 0000000..3574465
--- /dev/null
@@ -0,0 +1,59 @@
+From 2d1cb7f658fb9c3ba8f9dab8aca297d4dfdec835 Mon Sep 17 00:00:00 2001
+From: Yao-Wen Mao <yaowen@google.com>
+Date: Wed, 29 Jul 2015 15:13:54 +0800
+Subject: ALSA: usb-audio: add dB range mapping for some devices
+
+From: Yao-Wen Mao <yaowen@google.com>
+
+commit 2d1cb7f658fb9c3ba8f9dab8aca297d4dfdec835 upstream.
+
+Add the correct dB ranges of Bose Companion 5 and Drangonfly DAC 1.2.
+
+Signed-off-by: Yao-Wen Mao <yaowen@google.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/usb/mixer_maps.c |   24 ++++++++++++++++++++++++
+ 1 file changed, 24 insertions(+)
+
+--- a/sound/usb/mixer_maps.c
++++ b/sound/usb/mixer_maps.c
+@@ -336,6 +336,20 @@ static const struct usbmix_name_map scms
+       { 0 }
+ };
++/* Bose companion 5, the dB conversion factor is 16 instead of 256 */
++static struct usbmix_dB_map bose_companion5_dB = {-5006, -6};
++static struct usbmix_name_map bose_companion5_map[] = {
++      { 3, NULL, .dB = &bose_companion5_dB },
++      { 0 }   /* terminator */
++};
++
++/* Dragonfly DAC 1.2, the dB conversion factor is 1 instead of 256 */
++static struct usbmix_dB_map dragonfly_1_2_dB = {0, 5000};
++static struct usbmix_name_map dragonfly_1_2_map[] = {
++      { 7, NULL, .dB = &dragonfly_1_2_dB },
++      { 0 }   /* terminator */
++};
++
+ /*
+  * Control map entries
+  */
+@@ -442,6 +456,16 @@ static struct usbmix_ctl_map usbmix_ctl_
+               .id = USB_ID(0x25c4, 0x0003),
+               .map = scms_usb3318_map,
+       },
++      {
++              /* Bose Companion 5 */
++              .id = USB_ID(0x05a7, 0x1020),
++              .map = bose_companion5_map,
++      },
++      {
++              /* Dragonfly DAC 1.2 */
++              .id = USB_ID(0x21b4, 0x0081),
++              .map = dragonfly_1_2_map,
++      },
+       { 0 } /* terminator */
+ };
diff --git a/queue-3.14/alsa-usb-audio-add-midi-support-for-steinberg-mi2-mi4.patch b/queue-3.14/alsa-usb-audio-add-midi-support-for-steinberg-mi2-mi4.patch
new file mode 100644 (file)
index 0000000..5b9a624
--- /dev/null
@@ -0,0 +1,107 @@
+From 0689a86ae814f39af94a9736a0a5426dd82eb107 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Dominic=20Sacr=C3=A9?= <dominic.sacre@gmx.de>
+Date: Tue, 30 Jun 2015 17:41:33 +0200
+Subject: ALSA: usb-audio: Add MIDI support for Steinberg MI2/MI4
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: =?UTF-8?q?Dominic=20Sacr=C3=A9?= <dominic.sacre@gmx.de>
+
+commit 0689a86ae814f39af94a9736a0a5426dd82eb107 upstream.
+
+The Steinberg MI2 and MI4 interfaces are compatible with the USB class
+audio spec, but the MIDI part of the devices is reported as a vendor
+specific interface.
+
+This patch adds entries to quirks-table.h to recognize the MIDI
+endpoints. Audio functionality was already working and is unaffected by
+this change.
+
+Signed-off-by: Dominic Sacré <dominic.sacre@gmx.de>
+Signed-off-by: Albert Huitsing <albert@huitsing.nl>
+Acked-by: Clemens Ladisch <clemens@ladisch.de>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/usb/quirks-table.h |   68 +++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 68 insertions(+)
+
+--- a/sound/usb/quirks-table.h
++++ b/sound/usb/quirks-table.h
+@@ -2516,6 +2516,74 @@ YAMAHA_DEVICE(0x7010, "UB99"),
+       }
+ },
++/* Steinberg devices */
++{
++      /* Steinberg MI2 */
++      USB_DEVICE_VENDOR_SPEC(0x0a4e, 0x2040),
++      .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
++              .ifnum = QUIRK_ANY_INTERFACE,
++              .type = QUIRK_COMPOSITE,
++              .data = & (const struct snd_usb_audio_quirk[]) {
++                      {
++                              .ifnum = 0,
++                              .type = QUIRK_AUDIO_STANDARD_INTERFACE
++                      },
++                      {
++                              .ifnum = 1,
++                              .type = QUIRK_AUDIO_STANDARD_INTERFACE
++                      },
++                      {
++                              .ifnum = 2,
++                              .type = QUIRK_AUDIO_STANDARD_INTERFACE
++                      },
++                      {
++                              .ifnum = 3,
++                              .type = QUIRK_MIDI_FIXED_ENDPOINT,
++                              .data = &(const struct snd_usb_midi_endpoint_info) {
++                                      .out_cables = 0x0001,
++                                      .in_cables  = 0x0001
++                              }
++                      },
++                      {
++                              .ifnum = -1
++                      }
++              }
++      }
++},
++{
++      /* Steinberg MI4 */
++      USB_DEVICE_VENDOR_SPEC(0x0a4e, 0x4040),
++      .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
++              .ifnum = QUIRK_ANY_INTERFACE,
++              .type = QUIRK_COMPOSITE,
++              .data = & (const struct snd_usb_audio_quirk[]) {
++                      {
++                              .ifnum = 0,
++                              .type = QUIRK_AUDIO_STANDARD_INTERFACE
++                      },
++                      {
++                              .ifnum = 1,
++                              .type = QUIRK_AUDIO_STANDARD_INTERFACE
++                      },
++                      {
++                              .ifnum = 2,
++                              .type = QUIRK_AUDIO_STANDARD_INTERFACE
++                      },
++                      {
++                              .ifnum = 3,
++                              .type = QUIRK_MIDI_FIXED_ENDPOINT,
++                              .data = &(const struct snd_usb_midi_endpoint_info) {
++                                      .out_cables = 0x0001,
++                                      .in_cables  = 0x0001
++                              }
++                      },
++                      {
++                              .ifnum = -1
++                      }
++              }
++      }
++},
++
+ /* TerraTec devices */
+ {
+       USB_DEVICE_VENDOR_SPEC(0x0ccd, 0x0012),
diff --git a/queue-3.14/dma-debug-skip-debug_dma_assert_idle-when-disabled.patch b/queue-3.14/dma-debug-skip-debug_dma_assert_idle-when-disabled.patch
new file mode 100644 (file)
index 0000000..4557107
--- /dev/null
@@ -0,0 +1,46 @@
+From c9d120b0b2b5069cb2ae62f8eac0cef31c8544be Mon Sep 17 00:00:00 2001
+From: Haggai Eran <haggaie@mellanox.com>
+Date: Fri, 17 Jul 2015 16:24:06 -0700
+Subject: dma-debug: skip debug_dma_assert_idle() when disabled
+
+From: Haggai Eran <haggaie@mellanox.com>
+
+commit c9d120b0b2b5069cb2ae62f8eac0cef31c8544be upstream.
+
+If dma-debug is disabled due to a memory error, DMA unmaps do not affect
+the dma_active_cacheline radix tree anymore, and debug_dma_assert_idle()
+can print false warnings.
+
+Disable debug_dma_assert_idle() when dma_debug_disabled() is true.
+
+Signed-off-by: Haggai Eran <haggaie@mellanox.com>
+Fixes: 0abdd7a81b7e ("dma-debug: introduce debug_dma_assert_idle()")
+Cc: Dan Williams <dan.j.williams@intel.com>
+Cc: Joerg Roedel <joro@8bytes.org>
+Cc: Vinod Koul <vinod.koul@intel.com>
+Cc: Russell King <rmk+kernel@arm.linux.org.uk>
+Cc: James Bottomley <JBottomley@Parallels.com>
+Cc: Florian Fainelli <f.fainelli@gmail.com>
+Cc: Sebastian Ott <sebott@linux.vnet.ibm.com>
+Cc: Jiri Kosina <jkosina@suse.cz>
+Cc: Horia Geanta <horia.geanta@freescale.com>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ lib/dma-debug.c |    3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/lib/dma-debug.c
++++ b/lib/dma-debug.c
+@@ -566,6 +566,9 @@ void debug_dma_assert_idle(struct page *
+       unsigned long flags;
+       phys_addr_t cln;
++      if (dma_debug_disabled())
++              return;
++
+       if (!page)
+               return;
diff --git a/queue-3.14/genirq-prevent-resend-to-interrupts-marked-irq_nested_thread.patch b/queue-3.14/genirq-prevent-resend-to-interrupts-marked-irq_nested_thread.patch
new file mode 100644 (file)
index 0000000..c40a82b
--- /dev/null
@@ -0,0 +1,58 @@
+From 75a06189fc508a2acf470b0b12710362ffb2c4b1 Mon Sep 17 00:00:00 2001
+From: Thomas Gleixner <tglx@linutronix.de>
+Date: Thu, 16 Jul 2015 14:10:17 +0200
+Subject: genirq: Prevent resend to interrupts marked IRQ_NESTED_THREAD
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Thomas Gleixner <tglx@linutronix.de>
+
+commit 75a06189fc508a2acf470b0b12710362ffb2c4b1 upstream.
+
+The resend mechanism happily calls the interrupt handler of interrupts
+which are marked IRQ_NESTED_THREAD from softirq context. This can
+result in crashes because the interrupt handler is not the proper way
+to invoke the device handlers. They must be invoked via
+handle_nested_irq.
+
+Prevent the resend even if the interrupt has no valid parent irq
+set. Its better to have a lost interrupt than a crashing machine.
+
+Reported-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
+Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ kernel/irq/resend.c |   18 +++++++++++++-----
+ 1 file changed, 13 insertions(+), 5 deletions(-)
+
+--- a/kernel/irq/resend.c
++++ b/kernel/irq/resend.c
+@@ -75,13 +75,21 @@ void check_irq_resend(struct irq_desc *d
+                   !desc->irq_data.chip->irq_retrigger(&desc->irq_data)) {
+ #ifdef CONFIG_HARDIRQS_SW_RESEND
+                       /*
+-                       * If the interrupt has a parent irq and runs
+-                       * in the thread context of the parent irq,
+-                       * retrigger the parent.
++                       * If the interrupt is running in the thread
++                       * context of the parent irq we need to be
++                       * careful, because we cannot trigger it
++                       * directly.
+                        */
+-                      if (desc->parent_irq &&
+-                          irq_settings_is_nested_thread(desc))
++                      if (irq_settings_is_nested_thread(desc)) {
++                              /*
++                               * If the parent_irq is valid, we
++                               * retrigger the parent, otherwise we
++                               * do nothing.
++                               */
++                              if (!desc->parent_irq)
++                                      return;
+                               irq = desc->parent_irq;
++                      }
+                       /* Set it pending and activate the softirq: */
+                       set_bit(irq, irqs_resend);
+                       tasklet_schedule(&resend_tasklet);
index d4825318958c9a252b84204a449737631a28c7f9..41233d3c85644e533ab9caaf889554f8fb1aa64b 100644 (file)
@@ -2,3 +2,8 @@ mm-avoid-setting-up-anonymous-pages-into-file-mapping.patch
 freeing-unlinked-file-indefinitely-delayed.patch
 s390-sclp-clear-upper-register-halves-in-_sclp_print_early.patch
 arc-make-sure-instruction_pointer-returns-unsigned-value.patch
+dma-debug-skip-debug_dma_assert_idle-when-disabled.patch
+genirq-prevent-resend-to-interrupts-marked-irq_nested_thread.patch
+alsa-usb-audio-add-midi-support-for-steinberg-mi2-mi4.patch
+alsa-usb-audio-add-db-range-mapping-for-some-devices.patch
+alsa-hda-fix-macbook-pro-5-2-quirk.patch