]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.1-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 7 Aug 2015 21:14:32 +0000 (14:14 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 7 Aug 2015 21:14:32 +0000 (14:14 -0700)
added patches:
alsa-hda-add-headset-mic-pin-quirk-for-a-dell-device.patch
alsa-hda-add-headset-mic-support-for-acer-aspire-v5-573g.patch
alsa-hda-add-new-amd-pci-ids-with-proper-driver-caps.patch
alsa-hda-add-new-gpu-codec-id-0x10de007d-to-snd-hda.patch
alsa-hda-apply-a-fixup-to-dell-vostro-5480.patch
alsa-hda-apply-fixup-for-another-toshiba-satellite-s50d.patch
alsa-hda-fix-macbook-pro-5-2-quirk.patch
alsa-line6-fix-ebusy-error-during-active-monitoring.patch
alsa-pcm-fix-lockdep-warning-with-nonatomic-pcm-ops.patch
alsa-usb-audio-add-db-range-mapping-for-some-devices.patch
alsa-usb-audio-add-midi-support-for-steinberg-mi2-mi4.patch
bio-integrity-do-not-assume-bio_integrity_pool-exists-if-bioset-exists.patch
dma-debug-skip-debug_dma_assert_idle-when-disabled.patch
genirq-prevent-resend-to-interrupts-marked-irq_nested_thread.patch

15 files changed:
queue-4.1/alsa-hda-add-headset-mic-pin-quirk-for-a-dell-device.patch [new file with mode: 0644]
queue-4.1/alsa-hda-add-headset-mic-support-for-acer-aspire-v5-573g.patch [new file with mode: 0644]
queue-4.1/alsa-hda-add-new-amd-pci-ids-with-proper-driver-caps.patch [new file with mode: 0644]
queue-4.1/alsa-hda-add-new-gpu-codec-id-0x10de007d-to-snd-hda.patch [new file with mode: 0644]
queue-4.1/alsa-hda-apply-a-fixup-to-dell-vostro-5480.patch [new file with mode: 0644]
queue-4.1/alsa-hda-apply-fixup-for-another-toshiba-satellite-s50d.patch [new file with mode: 0644]
queue-4.1/alsa-hda-fix-macbook-pro-5-2-quirk.patch [new file with mode: 0644]
queue-4.1/alsa-line6-fix-ebusy-error-during-active-monitoring.patch [new file with mode: 0644]
queue-4.1/alsa-pcm-fix-lockdep-warning-with-nonatomic-pcm-ops.patch [new file with mode: 0644]
queue-4.1/alsa-usb-audio-add-db-range-mapping-for-some-devices.patch [new file with mode: 0644]
queue-4.1/alsa-usb-audio-add-midi-support-for-steinberg-mi2-mi4.patch [new file with mode: 0644]
queue-4.1/bio-integrity-do-not-assume-bio_integrity_pool-exists-if-bioset-exists.patch [new file with mode: 0644]
queue-4.1/dma-debug-skip-debug_dma_assert_idle-when-disabled.patch [new file with mode: 0644]
queue-4.1/genirq-prevent-resend-to-interrupts-marked-irq_nested_thread.patch [new file with mode: 0644]
queue-4.1/series

diff --git a/queue-4.1/alsa-hda-add-headset-mic-pin-quirk-for-a-dell-device.patch b/queue-4.1/alsa-hda-add-headset-mic-pin-quirk-for-a-dell-device.patch
new file mode 100644 (file)
index 0000000..0246446
--- /dev/null
@@ -0,0 +1,40 @@
+From cba59972a1191a0c1647a52fe745eed7a4b34b38 Mon Sep 17 00:00:00 2001
+From: David Henningsson <david.henningsson@canonical.com>
+Date: Wed, 22 Jul 2015 10:00:25 +0200
+Subject: ALSA: hda - Add headset mic pin quirk for a Dell device
+
+From: David Henningsson <david.henningsson@canonical.com>
+
+commit cba59972a1191a0c1647a52fe745eed7a4b34b38 upstream.
+
+Without this patch, the headset mic will not work on this machine.
+
+BugLink: https://bugs.launchpad.net/bugs/1476987
+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 |   11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -5382,6 +5382,17 @@ static const struct snd_hda_pin_quirk al
+               {0x1d, 0x40700001},
+               {0x21, 0x02211030}),
+       SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
++              {0x12, 0x40000000},
++              {0x14, 0x90170130},
++              {0x17, 0x411111f0},
++              {0x18, 0x411111f0},
++              {0x19, 0x411111f0},
++              {0x1a, 0x411111f0},
++              {0x1b, 0x01014020},
++              {0x1d, 0x4054c029},
++              {0x1e, 0x411111f0},
++              {0x21, 0x0221103f}),
++      SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
+               {0x12, 0x90a60160},
+               {0x14, 0x90170120},
+               {0x17, 0x90170140},
diff --git a/queue-4.1/alsa-hda-add-headset-mic-support-for-acer-aspire-v5-573g.patch b/queue-4.1/alsa-hda-add-headset-mic-support-for-acer-aspire-v5-573g.patch
new file mode 100644 (file)
index 0000000..32e5042
--- /dev/null
@@ -0,0 +1,37 @@
+From 0420694dddeb9e269a1ab2129a0119a5cea294a4 Mon Sep 17 00:00:00 2001
+From: Mateusz Sylwestrzak <matisec7@gmail.com>
+Date: Sun, 19 Jul 2015 17:38:56 +0200
+Subject: ALSA: hda - Add headset mic support for Acer Aspire V5-573G
+
+From: Mateusz Sylwestrzak <matisec7@gmail.com>
+
+commit 0420694dddeb9e269a1ab2129a0119a5cea294a4 upstream.
+
+Acer Aspire V5 with the ALC282 codec is given the wrong value for the
+0x19 PIN by the laptop's BIOS. Overriding it with the correct value
+adds support for the headset microphone which would not otherwise be
+visible in the system.
+
+The fix is based on commit 7819717b1134 with a similar quirk for Acer
+Aspire with the ALC269 codec.
+
+Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=96201
+Signed-off-by: Mateusz Sylwestrzak <matisec7@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
+@@ -5004,7 +5004,7 @@ static const struct hda_fixup alc269_fix
+                       { 0x14, 0x90170110 },
+                       { 0x17, 0x40000008 },
+                       { 0x18, 0x411111f0 },
+-                      { 0x19, 0x411111f0 },
++                      { 0x19, 0x01a1913c },
+                       { 0x1a, 0x411111f0 },
+                       { 0x1b, 0x411111f0 },
+                       { 0x1d, 0x40f89b2d },
diff --git a/queue-4.1/alsa-hda-add-new-amd-pci-ids-with-proper-driver-caps.patch b/queue-4.1/alsa-hda-add-new-amd-pci-ids-with-proper-driver-caps.patch
new file mode 100644 (file)
index 0000000..a1c32e5
--- /dev/null
@@ -0,0 +1,45 @@
+From 5022813ddb28b7679e8285812d52aaeb7e1e7657 Mon Sep 17 00:00:00 2001
+From: Maruthi Srinivas Bayyavarapu <Maruthi.Bayyavarapu@amd.com>
+Date: Mon, 20 Jul 2015 19:56:18 +0530
+Subject: ALSA: hda: add new AMD PCI IDs with proper driver caps
+
+From: Maruthi Srinivas Bayyavarapu <Maruthi.Bayyavarapu@amd.com>
+
+commit 5022813ddb28b7679e8285812d52aaeb7e1e7657 upstream.
+
+Fixes audio problems on newer asics
+
+Signed-off-by: Maruthi Bayyavarapu <maruthi.bayyavarapu@amd.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/hda/hda_intel.c |    8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+--- a/sound/pci/hda/hda_intel.c
++++ b/sound/pci/hda/hda_intel.c
+@@ -2056,6 +2056,8 @@ static const struct pci_device_id azx_id
+       /* ATI HDMI */
+       { PCI_DEVICE(0x1002, 0x1308),
+         .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS },
++      { PCI_DEVICE(0x1002, 0x157a),
++        .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS },
+       { PCI_DEVICE(0x1002, 0x793b),
+         .driver_data = AZX_DRIVER_ATIHDMI | AZX_DCAPS_PRESET_ATI_HDMI },
+       { PCI_DEVICE(0x1002, 0x7919),
+@@ -2110,8 +2112,14 @@ static const struct pci_device_id azx_id
+         .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS },
+       { PCI_DEVICE(0x1002, 0xaab0),
+         .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS },
++      { PCI_DEVICE(0x1002, 0xaac0),
++        .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS },
+       { PCI_DEVICE(0x1002, 0xaac8),
+         .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS },
++      { PCI_DEVICE(0x1002, 0xaad8),
++        .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS },
++      { PCI_DEVICE(0x1002, 0xaae8),
++        .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS },
+       /* VIA VT8251/VT8237A */
+       { PCI_DEVICE(0x1106, 0x3288),
+         .driver_data = AZX_DRIVER_VIA | AZX_DCAPS_POSFIX_VIA },
diff --git a/queue-4.1/alsa-hda-add-new-gpu-codec-id-0x10de007d-to-snd-hda.patch b/queue-4.1/alsa-hda-add-new-gpu-codec-id-0x10de007d-to-snd-hda.patch
new file mode 100644 (file)
index 0000000..e4d1f8a
--- /dev/null
@@ -0,0 +1,40 @@
+From 6c3d91193d829bf58a35a10650415b05a736ca6c Mon Sep 17 00:00:00 2001
+From: Aaron Plattner <aplattner@nvidia.com>
+Date: Mon, 20 Jul 2015 17:14:14 -0700
+Subject: ALSA: hda - Add new GPU codec ID 0x10de007d to snd-hda
+
+From: Aaron Plattner <aplattner@nvidia.com>
+
+commit 6c3d91193d829bf58a35a10650415b05a736ca6c upstream.
+
+Vendor ID 0x10de007d is used by a yet-to-be-named GPU chip.
+
+This chip also has the 2-ch audio swapping bug, so patch_nvhdmi is
+appropriate here.
+
+Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/hda/patch_hdmi.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/sound/pci/hda/patch_hdmi.c
++++ b/sound/pci/hda/patch_hdmi.c
+@@ -3333,6 +3333,7 @@ static const struct hda_codec_preset snd
+ { .id = 0x10de0070, .name = "GPU 70 HDMI/DP", .patch = patch_nvhdmi },
+ { .id = 0x10de0071, .name = "GPU 71 HDMI/DP", .patch = patch_nvhdmi },
+ { .id = 0x10de0072, .name = "GPU 72 HDMI/DP", .patch = patch_nvhdmi },
++{ .id = 0x10de007d, .name = "GPU 7d HDMI/DP", .patch = patch_nvhdmi },
+ { .id = 0x10de8001, .name = "MCP73 HDMI",     .patch = patch_nvhdmi_2ch },
+ { .id = 0x11069f80, .name = "VX900 HDMI/DP",  .patch = patch_via_hdmi },
+ { .id = 0x11069f81, .name = "VX900 HDMI/DP",  .patch = patch_via_hdmi },
+@@ -3396,6 +3397,7 @@ MODULE_ALIAS("snd-hda-codec-id:10de0067"
+ MODULE_ALIAS("snd-hda-codec-id:10de0070");
+ MODULE_ALIAS("snd-hda-codec-id:10de0071");
+ MODULE_ALIAS("snd-hda-codec-id:10de0072");
++MODULE_ALIAS("snd-hda-codec-id:10de007d");
+ MODULE_ALIAS("snd-hda-codec-id:10de8001");
+ MODULE_ALIAS("snd-hda-codec-id:11069f80");
+ MODULE_ALIAS("snd-hda-codec-id:11069f81");
diff --git a/queue-4.1/alsa-hda-apply-a-fixup-to-dell-vostro-5480.patch b/queue-4.1/alsa-hda-apply-a-fixup-to-dell-vostro-5480.patch
new file mode 100644 (file)
index 0000000..1bde13f
--- /dev/null
@@ -0,0 +1,30 @@
+From 3a05d12f46cb95a6a685114819363a56e6170996 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Wed, 29 Jul 2015 09:04:52 +0200
+Subject: ALSA: hda - Apply a fixup to Dell Vostro 5480
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 3a05d12f46cb95a6a685114819363a56e6170996 upstream.
+
+Dell Vostro 5480 (1028:069a) needs the very same quirk used for Vostro
+5470 model to make bass speakers properly working.
+
+Reported-and-tested-by: Paulo Roberto de Oliveira Castro <p.oliveira.castro@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 |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -5114,6 +5114,7 @@ static const struct snd_pci_quirk alc269
+       SND_PCI_QUIRK(0x1028, 0x064a, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),
+       SND_PCI_QUIRK(0x1028, 0x064b, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),
+       SND_PCI_QUIRK(0x1028, 0x0665, "Dell XPS 13", ALC288_FIXUP_DELL_XPS_13),
++      SND_PCI_QUIRK(0x1028, 0x069a, "Dell Vostro 5480", ALC290_FIXUP_SUBWOOFER_HSJACK),
+       SND_PCI_QUIRK(0x1028, 0x06c7, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE),
+       SND_PCI_QUIRK(0x1028, 0x06d9, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),
+       SND_PCI_QUIRK(0x1028, 0x06da, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE),
diff --git a/queue-4.1/alsa-hda-apply-fixup-for-another-toshiba-satellite-s50d.patch b/queue-4.1/alsa-hda-apply-fixup-for-another-toshiba-satellite-s50d.patch
new file mode 100644 (file)
index 0000000..ac2d5a4
--- /dev/null
@@ -0,0 +1,33 @@
+From b9d9c9efc292dd0ffe172780f915ed74eba3556c Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Mon, 27 Jul 2015 10:13:37 +0200
+Subject: ALSA: hda - Apply fixup for another Toshiba Satellite S50D
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit b9d9c9efc292dd0ffe172780f915ed74eba3556c upstream.
+
+Toshiba Satellite S50D has another model with a different PCI SSID
+(1179:fa93) while the previous fixup was for 1179:fa91.  Adjust the
+fixup entry with SND_PCI_QUIRK_MASK() to match with both devices.
+
+Reported-by: Tim Sample <timsample@gmail.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/pci/hda/patch_sigmatel.c |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/sound/pci/hda/patch_sigmatel.c
++++ b/sound/pci/hda/patch_sigmatel.c
+@@ -2920,7 +2920,8 @@ static const struct snd_pci_quirk stac92
+       SND_PCI_QUIRK(PCI_VENDOR_ID_HP, 0x148a,
+                     "HP Mini", STAC_92HD83XXX_HP_LED),
+       SND_PCI_QUIRK_VENDOR(PCI_VENDOR_ID_HP, "HP", STAC_92HD83XXX_HP),
+-      SND_PCI_QUIRK(PCI_VENDOR_ID_TOSHIBA, 0xfa91,
++      /* match both for 0xfa91 and 0xfa93 */
++      SND_PCI_QUIRK_MASK(PCI_VENDOR_ID_TOSHIBA, 0xfffd, 0xfa91,
+                     "Toshiba Satellite S50D", STAC_92HD83XXX_GPIO10_EAPD),
+       {} /* terminator */
+ };
diff --git a/queue-4.1/alsa-hda-fix-macbook-pro-5-2-quirk.patch b/queue-4.1/alsa-hda-fix-macbook-pro-5-2-quirk.patch
new file mode 100644 (file)
index 0000000..4a5a450
--- /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
+@@ -2224,7 +2224,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-4.1/alsa-line6-fix-ebusy-error-during-active-monitoring.patch b/queue-4.1/alsa-line6-fix-ebusy-error-during-active-monitoring.patch
new file mode 100644 (file)
index 0000000..10bd8bf
--- /dev/null
@@ -0,0 +1,47 @@
+From 4d0e677523a999e1dec28e55cc314c47ba09ca12 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Tue, 14 Jul 2015 15:19:37 +0200
+Subject: ALSA: line6: Fix -EBUSY error during active monitoring
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 4d0e677523a999e1dec28e55cc314c47ba09ca12 upstream.
+
+When a monitor stream is active, the next PCM stream access results in
+EBUSY error because of the check in line6_stream_start().  Fix this by
+just skipping the submission of pending URBs when the stream is
+already running instead.
+
+Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=101431
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/usb/line6/pcm.c |    9 ++-------
+ 1 file changed, 2 insertions(+), 7 deletions(-)
+
+--- a/sound/usb/line6/pcm.c
++++ b/sound/usb/line6/pcm.c
+@@ -186,12 +186,8 @@ static int line6_stream_start(struct snd
+       int ret = 0;
+       spin_lock_irqsave(&pstr->lock, flags);
+-      if (!test_and_set_bit(type, &pstr->running)) {
+-              if (pstr->active_urbs || pstr->unlink_urbs) {
+-                      ret = -EBUSY;
+-                      goto error;
+-              }
+-
++      if (!test_and_set_bit(type, &pstr->running) &&
++          !(pstr->active_urbs || pstr->unlink_urbs)) {
+               pstr->count = 0;
+               /* Submit all currently available URBs */
+               if (direction == SNDRV_PCM_STREAM_PLAYBACK)
+@@ -199,7 +195,6 @@ static int line6_stream_start(struct snd
+               else
+                       ret = line6_submit_audio_in_all_urbs(line6pcm);
+       }
+- error:
+       if (ret < 0)
+               clear_bit(type, &pstr->running);
+       spin_unlock_irqrestore(&pstr->lock, flags);
diff --git a/queue-4.1/alsa-pcm-fix-lockdep-warning-with-nonatomic-pcm-ops.patch b/queue-4.1/alsa-pcm-fix-lockdep-warning-with-nonatomic-pcm-ops.patch
new file mode 100644 (file)
index 0000000..73df6b2
--- /dev/null
@@ -0,0 +1,55 @@
+From 67756e3191c90e7c0b94b8b2fb63de255b6cd337 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Fri, 17 Jul 2015 15:22:33 +0200
+Subject: ALSA: pcm: Fix lockdep warning with nonatomic PCM ops
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 67756e3191c90e7c0b94b8b2fb63de255b6cd337 upstream.
+
+With the nonatomic PCM ops, the system may spew lockdep warnings like:
+
+ =============================================
+ [ INFO: possible recursive locking detected ]
+ 4.2.0-rc1-jeejaval3 #12 Not tainted
+ ---------------------------------------------
+ aplay/4029 is trying to acquire lock:
+  (snd_pcm_link_rwsem){.+.+.+}, at: [<ffffffff816fd473>] snd_pcm_stream_lock+0x43/0x60
+
+ but task is already holding lock:
+  (snd_pcm_link_rwsem){.+.+.+}, at: [<ffffffff816fcf29>] snd_pcm_action_nonatomic+0x29/0x80
+
+ other info that might help us debug this:
+  Possible unsafe locking scenario:
+
+        CPU0
+        ----
+   lock(snd_pcm_link_rwsem);
+   lock(snd_pcm_link_rwsem);
+
+Although this is false-positive as the rwsem is taken always as
+read-only for these code paths, it's certainly annoying to see this at
+any occasion.  A simple fix is to use down_read_nested() in
+snd_pcm_stream_lock() that can be called inside another lock.
+
+Reported-by: Vinod Koul <vinod.koul@intel.com>
+Reported-by: Jeeja Kp <jeeja.kp@intel.com>
+Tested-by: Jeeja Kp <jeeja.kp@intel.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/core/pcm_native.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/sound/core/pcm_native.c
++++ b/sound/core/pcm_native.c
+@@ -85,7 +85,7 @@ static DECLARE_RWSEM(snd_pcm_link_rwsem)
+ void snd_pcm_stream_lock(struct snd_pcm_substream *substream)
+ {
+       if (substream->pcm->nonatomic) {
+-              down_read(&snd_pcm_link_rwsem);
++              down_read_nested(&snd_pcm_link_rwsem, SINGLE_DEPTH_NESTING);
+               mutex_lock(&substream->self_group.mutex);
+       } else {
+               read_lock(&snd_pcm_link_rwlock);
diff --git a/queue-4.1/alsa-usb-audio-add-db-range-mapping-for-some-devices.patch b/queue-4.1/alsa-usb-audio-add-db-range-mapping-for-some-devices.patch
new file mode 100644 (file)
index 0000000..5f12436
--- /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
+@@ -341,6 +341,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
+  */
+@@ -451,6 +465,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-4.1/alsa-usb-audio-add-midi-support-for-steinberg-mi2-mi4.patch b/queue-4.1/alsa-usb-audio-add-midi-support-for-steinberg-mi2-mi4.patch
new file mode 100644 (file)
index 0000000..085a04a
--- /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
+@@ -2512,6 +2512,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-4.1/bio-integrity-do-not-assume-bio_integrity_pool-exists-if-bioset-exists.patch b/queue-4.1/bio-integrity-do-not-assume-bio_integrity_pool-exists-if-bioset-exists.patch
new file mode 100644 (file)
index 0000000..f281010
--- /dev/null
@@ -0,0 +1,71 @@
+From bb8bd38b9a1685334b73e8c62e128cbedb875867 Mon Sep 17 00:00:00 2001
+From: Mike Snitzer <snitzer@redhat.com>
+Date: Wed, 1 Jul 2015 12:57:40 -0400
+Subject: bio integrity: do not assume bio_integrity_pool exists if bioset exists
+
+From: Mike Snitzer <snitzer@redhat.com>
+
+commit bb8bd38b9a1685334b73e8c62e128cbedb875867 upstream.
+
+bio_integrity_alloc() and bio_integrity_free() assume that if a bio was
+allocated from a bioset that that bioset also had its bio_integrity_pool
+allocated using bioset_integrity_create().  This is a very bad
+assumption given that bioset_create() and bioset_integrity_create() are
+completely disjoint.  Not all callers of bioset_create() have been
+trained to also call bioset_integrity_create() -- and they may not care
+to be.
+
+Fix this by falling back to kmalloc'ing 'struct bio_integrity_payload'
+rather than force all bioset consumers to (wastefully) preallocate a
+bio_integrity_pool that they very likely won't actually need (given the
+niche nature of the current block integrity support).
+
+Otherwise, a NULL pointer "Kernel BUG" with a trace like the following
+will be observed (as seen on s390x using zfcp storage) because dm-io
+doesn't use bioset_integrity_create() when creating its bioset:
+
+    [  791.643338] Call Trace:
+    [  791.643339] ([<00000003df98b848>] 0x3df98b848)
+    [  791.643341]  [<00000000002c5de8>] bio_integrity_alloc+0x48/0xf8
+    [  791.643348]  [<00000000002c6486>] bio_integrity_prep+0xae/0x2f0
+    [  791.643349]  [<0000000000371e38>] blk_queue_bio+0x1c8/0x3d8
+    [  791.643355]  [<000000000036f8d0>] generic_make_request+0xc0/0x100
+    [  791.643357]  [<000000000036f9b2>] submit_bio+0xa2/0x198
+    [  791.643406]  [<000003ff801f9774>] dispatch_io+0x15c/0x3b0 [dm_mod]
+    [  791.643419]  [<000003ff801f9b3e>] dm_io+0x176/0x2f0 [dm_mod]
+    [  791.643423]  [<000003ff8074b28a>] do_reads+0x13a/0x1a8 [dm_mirror]
+    [  791.643425]  [<000003ff8074b43a>] do_mirror+0x142/0x298 [dm_mirror]
+    [  791.643428]  [<0000000000154fca>] process_one_work+0x18a/0x3f8
+    [  791.643432]  [<000000000015598a>] worker_thread+0x132/0x3b0
+    [  791.643435]  [<000000000015d49a>] kthread+0xd2/0xd8
+    [  791.643438]  [<00000000005bc0ca>] kernel_thread_starter+0x6/0xc
+    [  791.643446]  [<00000000005bc0c4>] kernel_thread_starter+0x0/0xc
+
+Signed-off-by: Mike Snitzer <snitzer@redhat.com>
+Signed-off-by: Jens Axboe <axboe@fb.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ block/bio-integrity.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/block/bio-integrity.c
++++ b/block/bio-integrity.c
+@@ -51,7 +51,7 @@ struct bio_integrity_payload *bio_integr
+       unsigned long idx = BIO_POOL_NONE;
+       unsigned inline_vecs;
+-      if (!bs) {
++      if (!bs || !bs->bio_integrity_pool) {
+               bip = kmalloc(sizeof(struct bio_integrity_payload) +
+                             sizeof(struct bio_vec) * nr_vecs, gfp_mask);
+               inline_vecs = nr_vecs;
+@@ -104,7 +104,7 @@ void bio_integrity_free(struct bio *bio)
+               kfree(page_address(bip->bip_vec->bv_page) +
+                     bip->bip_vec->bv_offset);
+-      if (bs) {
++      if (bs && bs->bio_integrity_pool) {
+               if (bip->bip_slab != BIO_POOL_NONE)
+                       bvec_free(bs->bvec_integrity_pool, bip->bip_vec,
+                                 bip->bip_slab);
diff --git a/queue-4.1/dma-debug-skip-debug_dma_assert_idle-when-disabled.patch b/queue-4.1/dma-debug-skip-debug_dma_assert_idle-when-disabled.patch
new file mode 100644 (file)
index 0000000..de1483b
--- /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
+@@ -574,6 +574,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-4.1/genirq-prevent-resend-to-interrupts-marked-irq_nested_thread.patch b/queue-4.1/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 638b57956c65f6841a462962dd06cc9a29dc484a..c90baff195ccfb34574a038973c60ad9b30cdb2b 100644 (file)
@@ -32,3 +32,17 @@ s390-cachinfo-add-missing-facility-check-to-init_cache_level.patch
 arc-override-toplevel-default-o2-with-o3.patch
 arc-make-sure-instruction_pointer-returns-unsigned-value.patch
 kbuild-allow-arch-makefiles-to-override-cpp-ld-c-flags.patch
+bio-integrity-do-not-assume-bio_integrity_pool-exists-if-bioset-exists.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-line6-fix-ebusy-error-during-active-monitoring.patch
+alsa-pcm-fix-lockdep-warning-with-nonatomic-pcm-ops.patch
+alsa-hda-add-headset-mic-support-for-acer-aspire-v5-573g.patch
+alsa-hda-add-new-amd-pci-ids-with-proper-driver-caps.patch
+alsa-hda-add-new-gpu-codec-id-0x10de007d-to-snd-hda.patch
+alsa-hda-add-headset-mic-pin-quirk-for-a-dell-device.patch
+alsa-hda-apply-fixup-for-another-toshiba-satellite-s50d.patch
+alsa-hda-apply-a-fixup-to-dell-vostro-5480.patch
+alsa-usb-audio-add-db-range-mapping-for-some-devices.patch
+alsa-hda-fix-macbook-pro-5-2-quirk.patch