--- /dev/null
+From 92cb46584e104e2f4b14a44959109ffe13524a26 Mon Sep 17 00:00:00 2001
+From: Takashi Sakamoto <o-takashi@sakamocchi.jp>
+Date: Thu, 8 Jan 2015 00:31:16 +0900
+Subject: ALSA: fireworks: fix an endianness bug for transaction length
+
+From: Takashi Sakamoto <o-takashi@sakamocchi.jp>
+
+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 <clemens@ladisch.de>
+Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ 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);
--- /dev/null
+From 60834b73a9c2bbc2f514122ddc626f3350fb40cd Mon Sep 17 00:00:00 2001
+From: Aaron Plattner <aplattner@nvidia.com>
+Date: Tue, 6 Jan 2015 13:40:14 -0800
+Subject: ALSA: hda - Add new GPU codec ID 0x10de0072 to snd-hda
+
+From: Aaron Plattner <aplattner@nvidia.com>
+
+commit 60834b73a9c2bbc2f514122ddc626f3350fb40cd upstream.
+
+Vendor ID 0x10de0072 is used by a yet-to-be-named GPU chip.
+
+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
+@@ -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");
--- /dev/null
+From c507de88f6a336bd7296c9ec0073b2d4af8b4f5e Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+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 <tiwai@suse.de>
+
+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 <linux@rasmusvillemoes.dk>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ 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))
--- /dev/null
+From 49cdd5b641933fda6324fc901eaf856924ba6a27 Mon Sep 17 00:00:00 2001
+From: Daniel Mack <daniel@zonque.org>
+Date: Sun, 4 Jan 2015 19:59:29 +0100
+Subject: ALSA: snd-usb-caiaq: fix stream count check
+
+From: Daniel Mack <daniel@zonque.org>
+
+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 <daniel@zonque.org>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ 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;
+ }
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