From: Greg Kroah-Hartman Date: Wed, 14 Jan 2015 00:29:19 +0000 (-0800) Subject: 3.18-stable patches X-Git-Tag: v3.10.65~24 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=607994aaef533e135e278b689b771a42f16a8ce4;p=thirdparty%2Fkernel%2Fstable-queue.git 3.18-stable patches added patches: alsa-fireworks-fix-an-endianness-bug-for-transaction-length.patch alsa-hda-add-new-gpu-codec-id-0x10de0072-to-snd-hda.patch alsa-hda-fix-wrong-gpio_dir-gpio_mask-hint-setups-for-idt-stac-codecs.patch alsa-snd-usb-caiaq-fix-stream-count-check.patch --- diff --git a/queue-3.18/alsa-fireworks-fix-an-endianness-bug-for-transaction-length.patch b/queue-3.18/alsa-fireworks-fix-an-endianness-bug-for-transaction-length.patch new file mode 100644 index 00000000000..a3334328bc7 --- /dev/null +++ b/queue-3.18/alsa-fireworks-fix-an-endianness-bug-for-transaction-length.patch @@ -0,0 +1,33 @@ +From 92cb46584e104e2f4b14a44959109ffe13524a26 Mon Sep 17 00:00:00 2001 +From: Takashi Sakamoto +Date: Thu, 8 Jan 2015 00:31:16 +0900 +Subject: ALSA: fireworks: fix an endianness bug for transaction length + +From: Takashi Sakamoto + +commit 92cb46584e104e2f4b14a44959109ffe13524a26 upstream. + +Although the 't->length' is a big-endian value, it's used without any +conversion. This means that the driver always uses 'length' parameter. + +Fixes: 555e8a8f7f14("ALSA: fireworks: Add command/response functionality into hwdep interface") +Reported-by: Clemens Ladisch +Signed-off-by: Takashi Sakamoto +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + +--- + sound/firewire/fireworks/fireworks_transaction.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/sound/firewire/fireworks/fireworks_transaction.c ++++ b/sound/firewire/fireworks/fireworks_transaction.c +@@ -124,7 +124,7 @@ copy_resp_to_buf(struct snd_efw *efw, vo + spin_lock_irq(&efw->lock); + + t = (struct snd_efw_transaction *)data; +- length = min_t(size_t, t->length * sizeof(t->length), length); ++ length = min_t(size_t, be32_to_cpu(t->length) * sizeof(u32), length); + + if (efw->push_ptr < efw->pull_ptr) + capacity = (unsigned int)(efw->pull_ptr - efw->push_ptr); diff --git a/queue-3.18/alsa-hda-add-new-gpu-codec-id-0x10de0072-to-snd-hda.patch b/queue-3.18/alsa-hda-add-new-gpu-codec-id-0x10de0072-to-snd-hda.patch new file mode 100644 index 00000000000..7fbf236f5e4 --- /dev/null +++ b/queue-3.18/alsa-hda-add-new-gpu-codec-id-0x10de0072-to-snd-hda.patch @@ -0,0 +1,37 @@ +From 60834b73a9c2bbc2f514122ddc626f3350fb40cd Mon Sep 17 00:00:00 2001 +From: Aaron Plattner +Date: Tue, 6 Jan 2015 13:40:14 -0800 +Subject: ALSA: hda - Add new GPU codec ID 0x10de0072 to snd-hda + +From: Aaron Plattner + +commit 60834b73a9c2bbc2f514122ddc626f3350fb40cd upstream. + +Vendor ID 0x10de0072 is used by a yet-to-be-named GPU chip. + +Signed-off-by: Aaron Plattner +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + +--- + 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 +@@ -3351,6 +3351,7 @@ static const struct hda_codec_preset snd + { .id = 0x10de0067, .name = "MCP67 HDMI", .patch = patch_nvhdmi_2ch }, + { .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 = 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 }, +@@ -3410,6 +3411,7 @@ MODULE_ALIAS("snd-hda-codec-id:10de0060" + 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:10de8001"); + MODULE_ALIAS("snd-hda-codec-id:11069f80"); + MODULE_ALIAS("snd-hda-codec-id:11069f81"); diff --git a/queue-3.18/alsa-hda-fix-wrong-gpio_dir-gpio_mask-hint-setups-for-idt-stac-codecs.patch b/queue-3.18/alsa-hda-fix-wrong-gpio_dir-gpio_mask-hint-setups-for-idt-stac-codecs.patch new file mode 100644 index 00000000000..1ff9ed7fde1 --- /dev/null +++ b/queue-3.18/alsa-hda-fix-wrong-gpio_dir-gpio_mask-hint-setups-for-idt-stac-codecs.patch @@ -0,0 +1,35 @@ +From c507de88f6a336bd7296c9ec0073b2d4af8b4f5e Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Mon, 5 Jan 2015 13:27:33 +0100 +Subject: ALSA: hda - Fix wrong gpio_dir & gpio_mask hint setups for IDT/STAC codecs + +From: Takashi Iwai + +commit c507de88f6a336bd7296c9ec0073b2d4af8b4f5e upstream. + +stac_store_hints() does utterly wrong for masking the values for +gpio_dir and gpio_data, likely due to copy&paste errors. Fortunately, +this feature is used very rarely, so the impact must be really small. + +Reported-by: Rasmus Villemoes +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + +--- + sound/pci/hda/patch_sigmatel.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/sound/pci/hda/patch_sigmatel.c ++++ b/sound/pci/hda/patch_sigmatel.c +@@ -568,9 +568,9 @@ static void stac_store_hints(struct hda_ + spec->gpio_mask; + } + if (get_int_hint(codec, "gpio_dir", &spec->gpio_dir)) +- spec->gpio_mask &= spec->gpio_mask; +- if (get_int_hint(codec, "gpio_data", &spec->gpio_data)) + spec->gpio_dir &= spec->gpio_mask; ++ if (get_int_hint(codec, "gpio_data", &spec->gpio_data)) ++ spec->gpio_data &= spec->gpio_mask; + if (get_int_hint(codec, "eapd_mask", &spec->eapd_mask)) + spec->eapd_mask &= spec->gpio_mask; + if (get_int_hint(codec, "gpio_mute", &spec->gpio_mute)) diff --git a/queue-3.18/alsa-snd-usb-caiaq-fix-stream-count-check.patch b/queue-3.18/alsa-snd-usb-caiaq-fix-stream-count-check.patch new file mode 100644 index 00000000000..e33daa2903a --- /dev/null +++ b/queue-3.18/alsa-snd-usb-caiaq-fix-stream-count-check.patch @@ -0,0 +1,35 @@ +From 49cdd5b641933fda6324fc901eaf856924ba6a27 Mon Sep 17 00:00:00 2001 +From: Daniel Mack +Date: Sun, 4 Jan 2015 19:59:29 +0100 +Subject: ALSA: snd-usb-caiaq: fix stream count check + +From: Daniel Mack + +commit 49cdd5b641933fda6324fc901eaf856924ba6a27 upstream. + +Commit 897c329bc ("ALSA: usb: caiaq: check for cdev->n_streams > 1") +introduced a safety check to protect against bogus data provided by +devices. However, the n_streams variable is already divided by +CHANNELS_PER_STREAM, so the correct check is 'n_streams > 0'. + +Fix this to un-break support for stereo devices. + +Signed-off-by: Daniel Mack +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + +--- + sound/usb/caiaq/audio.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/sound/usb/caiaq/audio.c ++++ b/sound/usb/caiaq/audio.c +@@ -816,7 +816,7 @@ int snd_usb_caiaq_audio_init(struct snd_ + return -EINVAL; + } + +- if (cdev->n_streams < 2) { ++ if (cdev->n_streams < 1) { + dev_err(dev, "bogus number of streams: %d\n", cdev->n_streams); + return -EINVAL; + } diff --git a/queue-3.18/series b/queue-3.18/series index c5bda1782ab..95f8f3eb49b 100644 --- a/queue-3.18/series +++ b/queue-3.18/series @@ -76,3 +76,7 @@ alsa-hda-realtek-new-codec-support-for-alc298.patch alsa-hda-realtek-new-codec-support-for-alc256.patch alsa-hda-realtek-add-new-dell-desktop-for-alc3234-headset-mode.patch alsa-hda-using-uninitialized-data.patch +alsa-fireworks-fix-an-endianness-bug-for-transaction-length.patch +alsa-snd-usb-caiaq-fix-stream-count-check.patch +alsa-hda-fix-wrong-gpio_dir-gpio_mask-hint-setups-for-idt-stac-codecs.patch +alsa-hda-add-new-gpu-codec-id-0x10de0072-to-snd-hda.patch