Home Home > GIT Browse > SLE12-SP4
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKernel Build Daemon <kbuild@suse.de>2019-03-23 07:00:36 +0100
committerKernel Build Daemon <kbuild@suse.de>2019-03-23 07:00:36 +0100
commit2520d49c8075669cda3f77ecee815eace7ab78dc (patch)
tree66bbfed92bc97e9647298983d0d3e703cefd04b3
parentc01bf34f5b925178e80169a92c40f22b95e7eeb3 (diff)
parent44777c32eaa52ae1995181b715bad6fe8752c7b6 (diff)
Merge branch 'SLE15' into SLE12-SP4SLE12-SP4
-rw-r--r--patches.drivers/ALSA-echoaudio-add-a-check-for-ioremap_nocache.patch37
-rw-r--r--patches.drivers/ALSA-firewire-add-const-qualifier-to-identifiers-for.patch260
-rw-r--r--patches.drivers/ALSA-firewire-motu-add-a-flag-for-AES-EBU-on-XLR-int.patch60
-rw-r--r--patches.drivers/ALSA-firewire-motu-add-specification-flag-for-positi.patch209
-rw-r--r--patches.drivers/ALSA-firewire-motu-add-support-for-MOTU-Audio-Expres.patch110
-rw-r--r--patches.drivers/ALSA-firewire-motu-add-support-for-Motu-Traveler.patch172
-rw-r--r--patches.drivers/ALSA-firewire-motu-use-version-field-of-unit-directo.patch97
-rw-r--r--patches.drivers/ALSA-hda-add-Lenovo-IdeaCentre-B550-to-the-power_sav.patch44
-rw-r--r--patches.drivers/ALSA-opl3-fix-mismatch-between-snd_opl3_drum_switch-.patch34
-rw-r--r--patches.drivers/ALSA-sb8-add-a-check-for-request_region.patch36
-rw-r--r--patches.drm/0001-drm-vmwgfx-Don-t-double-free-the-mode-stored-in-par-.patch (renamed from patches.suse/0001-drm-vmwgfx-Don-t-double-free-the-mode-stored-in-par-.patch)21
-rw-r--r--patches.drm/drm-i915-bios-assume-eDP-is-present-on-port-A-when-t.patch42
-rw-r--r--patches.drm/drm-nouveau-debugfs-Fix-check-of-pm_runtime_get_sync.patch35
-rw-r--r--patches.fixes/nvme-schedule-requeue-whenever-a-LIVE-state-is-enter.patch55
-rw-r--r--series.conf15
15 files changed, 1218 insertions, 9 deletions
diff --git a/patches.drivers/ALSA-echoaudio-add-a-check-for-ioremap_nocache.patch b/patches.drivers/ALSA-echoaudio-add-a-check-for-ioremap_nocache.patch
new file mode 100644
index 0000000000..d32a0539d3
--- /dev/null
+++ b/patches.drivers/ALSA-echoaudio-add-a-check-for-ioremap_nocache.patch
@@ -0,0 +1,37 @@
+From 6ade657d6125ec3ec07f95fa51e28138aef6208f Mon Sep 17 00:00:00 2001
+From: Kangjie Lu <kjlu@umn.edu>
+Date: Thu, 14 Mar 2019 22:58:29 -0500
+Subject: [PATCH] ALSA: echoaudio: add a check for ioremap_nocache
+Git-commit: 6ade657d6125ec3ec07f95fa51e28138aef6208f
+Patch-mainline: v5.1-rc2
+References: bsc#1051510
+
+In case ioremap_nocache fails, the fix releases chip and returns
+an error code upstream to avoid NULL pointer dereference.
+
+Signed-off-by: Kangjie Lu <kjlu@umn.edu>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ sound/pci/echoaudio/echoaudio.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/sound/pci/echoaudio/echoaudio.c b/sound/pci/echoaudio/echoaudio.c
+index ea876b0b02b9..dc0084dc8550 100644
+--- a/sound/pci/echoaudio/echoaudio.c
++++ b/sound/pci/echoaudio/echoaudio.c
+@@ -1952,6 +1952,11 @@ static int snd_echo_create(struct snd_card *card,
+ }
+ chip->dsp_registers = (volatile u32 __iomem *)
+ ioremap_nocache(chip->dsp_registers_phys, sz);
++ if (!chip->dsp_registers) {
++ dev_err(chip->card->dev, "ioremap failed\n");
++ snd_echo_free(chip);
++ return -ENOMEM;
++ }
+
+ if (request_irq(pci->irq, snd_echo_interrupt, IRQF_SHARED,
+ KBUILD_MODNAME, chip)) {
+--
+2.16.4
+
diff --git a/patches.drivers/ALSA-firewire-add-const-qualifier-to-identifiers-for.patch b/patches.drivers/ALSA-firewire-add-const-qualifier-to-identifiers-for.patch
new file mode 100644
index 0000000000..76009eb972
--- /dev/null
+++ b/patches.drivers/ALSA-firewire-add-const-qualifier-to-identifiers-for.patch
@@ -0,0 +1,260 @@
+From 782fbec745d84fa06708e703a92a431c4344daf0 Mon Sep 17 00:00:00 2001
+From: Takashi Sakamoto <o-takashi@sakamocchi.jp>
+Date: Tue, 22 Aug 2017 22:58:15 +0900
+Subject: [PATCH] ALSA: firewire: add const qualifier to identifiers for read-only symbols
+Git-commit: 782fbec745d84fa06708e703a92a431c4344daf0
+Patch-mainline: v4.14-rc1
+References: bsc#1051510
+
+Drivers in ALSA firewire stack still includes some symbols which can be
+moved to a section for read-only symbols.
+
+Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ sound/firewire/bebob/bebob.h | 2 +-
+ sound/firewire/bebob/bebob_focusrite.c | 6 +++---
+ sound/firewire/bebob/bebob_maudio.c | 2 +-
+ sound/firewire/bebob/bebob_terratec.c | 2 +-
+ sound/firewire/bebob/bebob_yamaha_terratec.c | 2 +-
+ sound/firewire/dice/dice.c | 2 +-
+ sound/firewire/fireface/ff-protocol-ff400.c | 2 +-
+ sound/firewire/fireface/ff.c | 2 +-
+ sound/firewire/fireface/ff.h | 4 ++--
+ sound/firewire/fireworks/fireworks_proc.c | 2 +-
+ sound/firewire/motu/motu.c | 6 +++---
+ sound/firewire/oxfw/oxfw-scs1x.c | 11 +++++------
+ sound/firewire/tascam/tascam.c | 2 +-
+ 13 files changed, 22 insertions(+), 23 deletions(-)
+
+diff --git a/sound/firewire/bebob/bebob.h b/sound/firewire/bebob/bebob.h
+index 17678d6ab5a2..df1b1e94c43c 100644
+--- a/sound/firewire/bebob/bebob.h
++++ b/sound/firewire/bebob/bebob.h
+@@ -58,7 +58,7 @@ enum snd_bebob_clock_type {
+ struct snd_bebob_clock_spec {
+ unsigned int num;
+ const char *const *labels;
+- enum snd_bebob_clock_type *types;
++ const enum snd_bebob_clock_type *types;
+ int (*get)(struct snd_bebob *bebob, unsigned int *id);
+ };
+ struct snd_bebob_rate_spec {
+diff --git a/sound/firewire/bebob/bebob_focusrite.c b/sound/firewire/bebob/bebob_focusrite.c
+index f11090057949..52b8b61ecddd 100644
+--- a/sound/firewire/bebob/bebob_focusrite.c
++++ b/sound/firewire/bebob/bebob_focusrite.c
+@@ -103,12 +103,12 @@ saffire_write_quad(struct snd_bebob *bebob, u64 offset, u32 value)
+ &data, sizeof(__be32), 0);
+ }
+
+-static enum snd_bebob_clock_type saffirepro_10_clk_src_types[] = {
++static const enum snd_bebob_clock_type saffirepro_10_clk_src_types[] = {
+ SND_BEBOB_CLOCK_TYPE_INTERNAL,
+ SND_BEBOB_CLOCK_TYPE_EXTERNAL, /* S/PDIF */
+ SND_BEBOB_CLOCK_TYPE_EXTERNAL, /* Word Clock */
+ };
+-static enum snd_bebob_clock_type saffirepro_26_clk_src_types[] = {
++static const enum snd_bebob_clock_type saffirepro_26_clk_src_types[] = {
+ SND_BEBOB_CLOCK_TYPE_INTERNAL,
+ SND_BEBOB_CLOCK_TYPE_EXTERNAL, /* S/PDIF */
+ SND_BEBOB_CLOCK_TYPE_EXTERNAL, /* ADAT1 */
+@@ -201,7 +201,7 @@ saffirepro_both_clk_src_get(struct snd_bebob *bebob, unsigned int *id)
+ }
+
+ const struct snd_bebob_spec saffire_le_spec;
+-static enum snd_bebob_clock_type saffire_both_clk_src_types[] = {
++static const enum snd_bebob_clock_type saffire_both_clk_src_types[] = {
+ SND_BEBOB_CLOCK_TYPE_INTERNAL,
+ SND_BEBOB_CLOCK_TYPE_EXTERNAL,
+ };
+diff --git a/sound/firewire/bebob/bebob_maudio.c b/sound/firewire/bebob/bebob_maudio.c
+index d10208f92edf..bd55620c6a47 100644
+--- a/sound/firewire/bebob/bebob_maudio.c
++++ b/sound/firewire/bebob/bebob_maudio.c
+@@ -340,7 +340,7 @@ static int special_set_rate(struct snd_bebob *bebob, unsigned int rate)
+ }
+
+ /* Clock source control for special firmware */
+-static enum snd_bebob_clock_type special_clk_types[] = {
++static const enum snd_bebob_clock_type special_clk_types[] = {
+ SND_BEBOB_CLOCK_TYPE_INTERNAL, /* With digital mute */
+ SND_BEBOB_CLOCK_TYPE_EXTERNAL, /* SPDIF/ADAT */
+ SND_BEBOB_CLOCK_TYPE_EXTERNAL, /* Word Clock */
+diff --git a/sound/firewire/bebob/bebob_terratec.c b/sound/firewire/bebob/bebob_terratec.c
+index 2fdaf93e7a8d..9770c2127a7a 100644
+--- a/sound/firewire/bebob/bebob_terratec.c
++++ b/sound/firewire/bebob/bebob_terratec.c
+@@ -8,7 +8,7 @@
+
+ #include "./bebob.h"
+
+-static enum snd_bebob_clock_type phase88_rack_clk_src_types[] = {
++static const enum snd_bebob_clock_type phase88_rack_clk_src_types[] = {
+ SND_BEBOB_CLOCK_TYPE_INTERNAL,
+ SND_BEBOB_CLOCK_TYPE_EXTERNAL, /* S/PDIF */
+ SND_BEBOB_CLOCK_TYPE_EXTERNAL, /* Word Clock */
+diff --git a/sound/firewire/bebob/bebob_yamaha_terratec.c b/sound/firewire/bebob/bebob_yamaha_terratec.c
+index a6be3e7138e0..8bd78fef3516 100644
+--- a/sound/firewire/bebob/bebob_yamaha_terratec.c
++++ b/sound/firewire/bebob/bebob_yamaha_terratec.c
+@@ -31,7 +31,7 @@
+ * Yamaha GO 44 and GO 46. Yamaha and Terratec had cooperated for these models.
+ */
+
+-static enum snd_bebob_clock_type clk_src_types[] = {
++static const enum snd_bebob_clock_type clk_src_types[] = {
+ SND_BEBOB_CLOCK_TYPE_INTERNAL,
+ SND_BEBOB_CLOCK_TYPE_EXTERNAL, /* S/PDIF */
+ };
+diff --git a/sound/firewire/dice/dice.c b/sound/firewire/dice/dice.c
+index 25e9f77275c4..4ddb4cdd054b 100644
+--- a/sound/firewire/dice/dice.c
++++ b/sound/firewire/dice/dice.c
+@@ -26,7 +26,7 @@ MODULE_LICENSE("GPL v2");
+ */
+ static bool force_two_pcm_support(struct fw_unit *unit)
+ {
+- const char *const models[] = {
++ static const char *const models[] = {
+ /* TC Electronic models. */
+ "StudioKonnekt48",
+ /* Focusrite models. */
+diff --git a/sound/firewire/fireface/ff-protocol-ff400.c b/sound/firewire/fireface/ff-protocol-ff400.c
+index fcec6de80eeb..12aa15df435d 100644
+--- a/sound/firewire/fireface/ff-protocol-ff400.c
++++ b/sound/firewire/fireface/ff-protocol-ff400.c
+@@ -356,7 +356,7 @@ static void ff400_dump_clock_config(struct snd_ff *ff,
+ snd_iprintf(buffer, "Sync to clock source: %s\n", src);
+ }
+
+-struct snd_ff_protocol snd_ff_protocol_ff400 = {
++const struct snd_ff_protocol snd_ff_protocol_ff400 = {
+ .get_clock = ff400_get_clock,
+ .begin_session = ff400_begin_session,
+ .finish_session = ff400_finish_session,
+diff --git a/sound/firewire/fireface/ff.c b/sound/firewire/fireface/ff.c
+index eee7c8eac7a6..4974bc7980e9 100644
+--- a/sound/firewire/fireface/ff.c
++++ b/sound/firewire/fireface/ff.c
+@@ -157,7 +157,7 @@ static void snd_ff_remove(struct fw_unit *unit)
+ }
+ }
+
+-static struct snd_ff_spec spec_ff400 = {
++static const struct snd_ff_spec spec_ff400 = {
+ .name = "Fireface400",
+ .pcm_capture_channels = {18, 14, 10},
+ .pcm_playback_channels = {18, 14, 10},
+diff --git a/sound/firewire/fireface/ff.h b/sound/firewire/fireface/ff.h
+index 3cb812a50030..64df44beb950 100644
+--- a/sound/firewire/fireface/ff.h
++++ b/sound/firewire/fireface/ff.h
+@@ -47,7 +47,7 @@ struct snd_ff_spec {
+ unsigned int midi_in_ports;
+ unsigned int midi_out_ports;
+
+- struct snd_ff_protocol *protocol;
++ const struct snd_ff_protocol *protocol;
+ };
+
+ struct snd_ff {
+@@ -112,7 +112,7 @@ struct snd_ff_protocol {
+ u64 midi_rx_port_1_reg;
+ };
+
+-extern struct snd_ff_protocol snd_ff_protocol_ff400;
++extern const struct snd_ff_protocol snd_ff_protocol_ff400;
+
+ int snd_ff_transaction_register(struct snd_ff *ff);
+ int snd_ff_transaction_reregister(struct snd_ff *ff);
+diff --git a/sound/firewire/fireworks/fireworks_proc.c b/sound/firewire/fireworks/fireworks_proc.c
+index beb0a0ffee57..9c21f31b8b21 100644
+--- a/sound/firewire/fireworks/fireworks_proc.c
++++ b/sound/firewire/fireworks/fireworks_proc.c
+@@ -12,7 +12,7 @@
+ static inline const char*
+ get_phys_name(struct snd_efw_phys_grp *grp, bool input)
+ {
+- const char *const ch_type[] = {
++ static const char *const ch_type[] = {
+ "Analog", "S/PDIF", "ADAT", "S/PDIF or ADAT", "Mirroring",
+ "Headphones", "I2S", "Guitar", "Pirzo Guitar", "Guitar String",
+ };
+diff --git a/sound/firewire/motu/motu.c b/sound/firewire/motu/motu.c
+index 2bbb764822fc..0d6b526105ab 100644
+--- a/sound/firewire/motu/motu.c
++++ b/sound/firewire/motu/motu.c
+@@ -194,7 +194,7 @@ static void motu_bus_update(struct fw_unit *unit)
+ snd_motu_transaction_reregister(motu);
+ }
+
+-static struct snd_motu_spec motu_828mk2 = {
++static const struct snd_motu_spec motu_828mk2 = {
+ .name = "828mk2",
+ .protocol = &snd_motu_protocol_v2,
+ .flags = SND_MOTU_SPEC_SUPPORT_CLOCK_X2 |
+@@ -208,7 +208,7 @@ static struct snd_motu_spec motu_828mk2 = {
+ .analog_out_ports = 8,
+ };
+
+-static struct snd_motu_spec motu_828mk3 = {
++static const struct snd_motu_spec motu_828mk3 = {
+ .name = "828mk3",
+ .protocol = &snd_motu_protocol_v3,
+ .flags = SND_MOTU_SPEC_SUPPORT_CLOCK_X2 |
+@@ -225,7 +225,7 @@ static struct snd_motu_spec motu_828mk3 = {
+ .analog_out_ports = 8,
+ };
+
+-static struct snd_motu_spec motu_audio_express = {
++static const struct snd_motu_spec motu_audio_express = {
+ .name = "AudioExpress",
+ .protocol = &snd_motu_protocol_v3,
+ .flags = SND_MOTU_SPEC_SUPPORT_CLOCK_X2 |
+diff --git a/sound/firewire/oxfw/oxfw-scs1x.c b/sound/firewire/oxfw/oxfw-scs1x.c
+index 93209ebd9121..02d595665898 100644
+--- a/sound/firewire/oxfw/oxfw-scs1x.c
++++ b/sound/firewire/oxfw/oxfw-scs1x.c
+@@ -297,12 +297,6 @@ static void midi_capture_trigger(struct snd_rawmidi_substream *stream, int up)
+ }
+ }
+
+-static const struct snd_rawmidi_ops midi_capture_ops = {
+- .open = midi_capture_open,
+- .close = midi_capture_close,
+- .trigger = midi_capture_trigger,
+-};
+-
+ static int midi_playback_open(struct snd_rawmidi_substream *stream)
+ {
+ return 0;
+@@ -363,6 +357,11 @@ void snd_oxfw_scs1x_update(struct snd_oxfw *oxfw)
+
+ int snd_oxfw_scs1x_add(struct snd_oxfw *oxfw)
+ {
++ static const struct snd_rawmidi_ops midi_capture_ops = {
++ .open = midi_capture_open,
++ .close = midi_capture_close,
++ .trigger = midi_capture_trigger,
++ };
+ static const struct snd_rawmidi_ops midi_playback_ops = {
+ .open = midi_playback_open,
+ .close = midi_playback_close,
+diff --git a/sound/firewire/tascam/tascam.c b/sound/firewire/tascam/tascam.c
+index 9dc93a7eb9da..44ad41fb7374 100644
+--- a/sound/firewire/tascam/tascam.c
++++ b/sound/firewire/tascam/tascam.c
+@@ -12,7 +12,7 @@ MODULE_DESCRIPTION("TASCAM FireWire series Driver");
+ MODULE_AUTHOR("Takashi Sakamoto <o-takashi@sakamocchi.jp>");
+ MODULE_LICENSE("GPL v2");
+
+-static struct snd_tscm_spec model_specs[] = {
++static const struct snd_tscm_spec model_specs[] = {
+ {
+ .name = "FW-1884",
+ .has_adat = true,
+--
+2.16.4
+
diff --git a/patches.drivers/ALSA-firewire-motu-add-a-flag-for-AES-EBU-on-XLR-int.patch b/patches.drivers/ALSA-firewire-motu-add-a-flag-for-AES-EBU-on-XLR-int.patch
new file mode 100644
index 0000000000..6f2c1b896e
--- /dev/null
+++ b/patches.drivers/ALSA-firewire-motu-add-a-flag-for-AES-EBU-on-XLR-int.patch
@@ -0,0 +1,60 @@
+From 06ac0b6f8f74e98d32f9dea5209bd26f3e7b50ba Mon Sep 17 00:00:00 2001
+From: Takashi Sakamoto <o-takashi@sakamocchi.jp>
+Date: Mon, 18 Jun 2018 21:07:53 +0900
+Subject: [PATCH] ALSA: firewire-motu: add a flag for AES/EBU on XLR interface
+Git-commit: 06ac0b6f8f74e98d32f9dea5209bd26f3e7b50ba
+Patch-mainline: v4.19-rc1
+References: bsc#1051510
+
+MOTU Traveler supports AES/EBU on XLR interface and data block of rx/tx
+packet includes two chunk for the interface. This commit adds a flag
+for this purpose.
+
+Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ sound/firewire/motu/motu-protocol-v2.c | 5 +++++
+ sound/firewire/motu/motu-protocol-v3.c | 5 +++++
+ sound/firewire/motu/motu.h | 2 +-
+ 3 files changed, 11 insertions(+), 1 deletion(-)
+
+--- a/sound/firewire/motu/motu-protocol-v2.c
++++ b/sound/firewire/motu/motu-protocol-v2.c
+@@ -156,6 +156,11 @@ static void calculate_fixed_part(struct
+ pcm_chunks[1] += 4;
+ }
+
++ if (flags & SND_MOTU_SPEC_HAS_AESEBU_IFACE) {
++ pcm_chunks[0] += 2;
++ pcm_chunks[1] += 2;
++ }
++
+ /*
+ * All of v2 models have a pair of coaxial interfaces for digital in/out
+ * port. At 44.1/48.0/88.2/96.0 kHz, packets includes PCM from these
+--- a/sound/firewire/motu/motu-protocol-v3.c
++++ b/sound/firewire/motu/motu-protocol-v3.c
+@@ -195,6 +195,11 @@ static void calculate_fixed_part(struct
+ pcm_chunks[1] += 4;
+ }
+
++ if (flags & SND_MOTU_SPEC_HAS_AESEBU_IFACE) {
++ pcm_chunks[0] += 2;
++ pcm_chunks[1] += 2;
++ }
++
+ /*
+ * At least, packets have two data chunks for S/PDIF on coaxial
+ * interface.
+--- a/sound/firewire/motu/motu.h
++++ b/sound/firewire/motu/motu.h
+@@ -79,7 +79,7 @@ enum snd_motu_spec_flags {
+ SND_MOTU_SPEC_TX_MICINST_CHUNK = 0x0004,
+ SND_MOTU_SPEC_TX_RETURN_CHUNK = 0x0008,
+ SND_MOTU_SPEC_TX_REVERB_CHUNK = 0x0010,
+- SND_MOTU_SPEC_TX_AESEBU_CHUNK = 0x0020,
++ SND_MOTU_SPEC_HAS_AESEBU_IFACE = 0x0020,
+ SND_MOTU_SPEC_HAS_OPT_IFACE_A = 0x0040,
+ SND_MOTU_SPEC_HAS_OPT_IFACE_B = 0x0080,
+ SND_MOTU_SPEC_RX_MIDI_2ND_Q = 0x0100,
diff --git a/patches.drivers/ALSA-firewire-motu-add-specification-flag-for-positi.patch b/patches.drivers/ALSA-firewire-motu-add-specification-flag-for-positi.patch
new file mode 100644
index 0000000000..93853c5399
--- /dev/null
+++ b/patches.drivers/ALSA-firewire-motu-add-specification-flag-for-positi.patch
@@ -0,0 +1,209 @@
+From 8b460c76bd17128db90d69a3f8b4ad2ee744d118 Mon Sep 17 00:00:00 2001
+From: Takashi Sakamoto <o-takashi@sakamocchi.jp>
+Date: Sun, 20 Aug 2017 21:25:03 +0900
+Subject: [PATCH] ALSA: firewire-motu: add specification flag for position of flag for MIDI messages
+Git-commit: 8b460c76bd17128db90d69a3f8b4ad2ee744d118
+Patch-mainline: v4.14-rc1
+References: bsc#1051510
+
+In protocols of MOTU FireWire series, when transferring MIDI messages,
+transmitter set existence flag to one byte on first several quadlets. The
+position differs depending on protocols and models, however two cases are
+confirmed; in 5th byte and 8th byte from MSB side.
+
+This commit adds a series of specification flag to describe them. When
+the existence flag is in the 5th byte, SND_MOTU_SPEC_[R|T]X_MIDI_2ND_Q is
+used. Else, another set of the flag is used. Here, '_Q' means quadlet.
+
+Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ sound/firewire/motu/motu-pcm.c | 2 +-
+ sound/firewire/motu/motu-protocol-v2.c | 5 -----
+ sound/firewire/motu/motu-protocol-v3.c | 5 -----
+ sound/firewire/motu/motu-stream.c | 38 ++++++++++++++++++++++++++++++++--
+ sound/firewire/motu/motu.c | 11 +++++++---
+ sound/firewire/motu/motu.h | 6 +++++-
+ 6 files changed, 50 insertions(+), 17 deletions(-)
+
+diff --git a/sound/firewire/motu/motu-pcm.c b/sound/firewire/motu/motu-pcm.c
+index 1466e46a101e..4330220890e8 100644
+--- a/sound/firewire/motu/motu-pcm.c
++++ b/sound/firewire/motu/motu-pcm.c
+@@ -145,7 +145,7 @@ static int pcm_open(struct snd_pcm_substream *substream)
+
+ mutex_lock(&motu->mutex);
+
+- err = protocol->cache_packet_formats(motu);
++ err = snd_motu_stream_cache_packet_formats(motu);
+ if (err < 0)
+ goto err_locked;
+
+diff --git a/sound/firewire/motu/motu-protocol-v2.c b/sound/firewire/motu/motu-protocol-v2.c
+index 05b5d287c2f3..525b746330be 100644
+--- a/sound/firewire/motu/motu-protocol-v2.c
++++ b/sound/firewire/motu/motu-protocol-v2.c
+@@ -217,12 +217,7 @@ static int v2_cache_packet_formats(struct snd_motu *motu)
+ calculate_differed_part(&motu->rx_packet_formats, motu->spec->flags,
+ data, V2_OPT_OUT_IFACE_MASK, V2_OPT_OUT_IFACE_SHIFT);
+
+- motu->tx_packet_formats.midi_flag_offset = 4;
+- motu->tx_packet_formats.midi_byte_offset = 6;
+ motu->tx_packet_formats.pcm_byte_offset = 10;
+-
+- motu->rx_packet_formats.midi_flag_offset = 4;
+- motu->rx_packet_formats.midi_byte_offset = 6;
+ motu->rx_packet_formats.pcm_byte_offset = 10;
+
+ return 0;
+diff --git a/sound/firewire/motu/motu-protocol-v3.c b/sound/firewire/motu/motu-protocol-v3.c
+index ddb647254ed2..c7cd9864dc4d 100644
+--- a/sound/firewire/motu/motu-protocol-v3.c
++++ b/sound/firewire/motu/motu-protocol-v3.c
+@@ -291,12 +291,7 @@ static int v3_cache_packet_formats(struct snd_motu *motu)
+ V3_ENABLE_OPT_OUT_IFACE_A, V3_NO_ADAT_OPT_OUT_IFACE_A,
+ V3_ENABLE_OPT_OUT_IFACE_B, V3_NO_ADAT_OPT_OUT_IFACE_B);
+
+- motu->tx_packet_formats.midi_flag_offset = 8;
+- motu->tx_packet_formats.midi_byte_offset = 7;
+ motu->tx_packet_formats.pcm_byte_offset = 10;
+-
+- motu->rx_packet_formats.midi_flag_offset = 8;
+- motu->rx_packet_formats.midi_byte_offset = 7;
+ motu->rx_packet_formats.pcm_byte_offset = 10;
+
+ return 0;
+diff --git a/sound/firewire/motu/motu-stream.c b/sound/firewire/motu/motu-stream.c
+index bd458029099e..dc5541c8b359 100644
+--- a/sound/firewire/motu/motu-stream.c
++++ b/sound/firewire/motu/motu-stream.c
+@@ -33,7 +33,8 @@ static int start_both_streams(struct snd_motu *motu, unsigned int rate)
+ u32 data;
+ int err;
+
+- if (motu->spec->flags & SND_MOTU_SPEC_HAS_MIDI)
++ if ((motu->spec->flags & SND_MOTU_SPEC_RX_MIDI_2ND_Q) ||
++ (motu->spec->flags & SND_MOTU_SPEC_RX_MIDI_3RD_Q))
+ midi_ports = 1;
+
+ /* Set packet formation to our packet streaming engine. */
+@@ -42,6 +43,12 @@ static int start_both_streams(struct snd_motu *motu, unsigned int rate)
+ if (err < 0)
+ return err;
+
++ if ((motu->spec->flags & SND_MOTU_SPEC_TX_MIDI_2ND_Q) ||
++ (motu->spec->flags & SND_MOTU_SPEC_TX_MIDI_3RD_Q))
++ midi_ports = 1;
++ else
++ midi_ports = 0;
++
+ err = amdtp_motu_set_parameters(&motu->tx_stream, rate, midi_ports,
+ &motu->tx_packet_formats);
+ if (err < 0)
+@@ -141,6 +148,33 @@ static void stop_isoc_ctx(struct snd_motu *motu, struct amdtp_stream *stream)
+ fw_iso_resources_free(resources);
+ }
+
++int snd_motu_stream_cache_packet_formats(struct snd_motu *motu)
++{
++ int err;
++
++ err = motu->spec->protocol->cache_packet_formats(motu);
++ if (err < 0)
++ return err;
++
++ if (motu->spec->flags & SND_MOTU_SPEC_TX_MIDI_2ND_Q) {
++ motu->tx_packet_formats.midi_flag_offset = 4;
++ motu->tx_packet_formats.midi_byte_offset = 6;
++ } else if (motu->spec->flags & SND_MOTU_SPEC_TX_MIDI_3RD_Q) {
++ motu->tx_packet_formats.midi_flag_offset = 8;
++ motu->tx_packet_formats.midi_byte_offset = 7;
++ }
++
++ if (motu->spec->flags & SND_MOTU_SPEC_RX_MIDI_2ND_Q) {
++ motu->rx_packet_formats.midi_flag_offset = 4;
++ motu->rx_packet_formats.midi_byte_offset = 6;
++ } else if (motu->spec->flags & SND_MOTU_SPEC_RX_MIDI_3RD_Q) {
++ motu->rx_packet_formats.midi_flag_offset = 8;
++ motu->rx_packet_formats.midi_byte_offset = 7;
++ }
++
++ return 0;
++}
++
+ static int ensure_packet_formats(struct snd_motu *motu)
+ {
+ __be32 reg;
+@@ -184,7 +218,7 @@ int snd_motu_stream_start_duplex(struct snd_motu *motu, unsigned int rate)
+ stop_both_streams(motu);
+ }
+
+- err = protocol->cache_packet_formats(motu);
++ err = snd_motu_stream_cache_packet_formats(motu);
+ if (err < 0)
+ return err;
+
+diff --git a/sound/firewire/motu/motu.c b/sound/firewire/motu/motu.c
+index bf779cfeef0d..13d26e36fe00 100644
+--- a/sound/firewire/motu/motu.c
++++ b/sound/firewire/motu/motu.c
+@@ -103,7 +103,10 @@ static void do_registration(struct work_struct *work)
+ if (err < 0)
+ goto error;
+
+- if (motu->spec->flags & SND_MOTU_SPEC_HAS_MIDI) {
++ if ((motu->spec->flags & SND_MOTU_SPEC_RX_MIDI_2ND_Q) ||
++ (motu->spec->flags & SND_MOTU_SPEC_RX_MIDI_3RD_Q) ||
++ (motu->spec->flags & SND_MOTU_SPEC_TX_MIDI_2ND_Q) ||
++ (motu->spec->flags & SND_MOTU_SPEC_TX_MIDI_3RD_Q)) {
+ err = snd_motu_create_midi_devices(motu);
+ if (err < 0)
+ goto error;
+@@ -197,7 +200,8 @@ static struct snd_motu_spec motu_828mk2 = {
+ SND_MOTU_SPEC_TX_MICINST_CHUNK |
+ SND_MOTU_SPEC_TX_RETURN_CHUNK |
+ SND_MOTU_SPEC_HAS_OPT_IFACE_A |
+- SND_MOTU_SPEC_HAS_MIDI,
++ SND_MOTU_SPEC_RX_MIDI_2ND_Q |
++ SND_MOTU_SPEC_TX_MIDI_2ND_Q,
+
+ .analog_in_ports = 8,
+ .analog_out_ports = 8,
+@@ -213,7 +217,8 @@ static struct snd_motu_spec motu_828mk3 = {
+ SND_MOTU_SPEC_TX_REVERB_CHUNK |
+ SND_MOTU_SPEC_HAS_OPT_IFACE_A |
+ SND_MOTU_SPEC_HAS_OPT_IFACE_B |
+- SND_MOTU_SPEC_HAS_MIDI,
++ SND_MOTU_SPEC_RX_MIDI_3RD_Q |
++ SND_MOTU_SPEC_TX_MIDI_3RD_Q,
+
+ .analog_in_ports = 8,
+ .analog_out_ports = 8,
+diff --git a/sound/firewire/motu/motu.h b/sound/firewire/motu/motu.h
+index 8d6a4a3af9cc..4b23cf337c4b 100644
+--- a/sound/firewire/motu/motu.h
++++ b/sound/firewire/motu/motu.h
+@@ -82,7 +82,10 @@ enum snd_motu_spec_flags {
+ SND_MOTU_SPEC_TX_AESEBU_CHUNK = 0x0020,
+ SND_MOTU_SPEC_HAS_OPT_IFACE_A = 0x0040,
+ SND_MOTU_SPEC_HAS_OPT_IFACE_B = 0x0080,
+- SND_MOTU_SPEC_HAS_MIDI = 0x0100,
++ SND_MOTU_SPEC_RX_MIDI_2ND_Q = 0x0100,
++ SND_MOTU_SPEC_RX_MIDI_3RD_Q = 0x0200,
++ SND_MOTU_SPEC_TX_MIDI_2ND_Q = 0x0400,
++ SND_MOTU_SPEC_TX_MIDI_3RD_Q = 0x0800,
+ };
+
+ #define SND_MOTU_CLOCK_RATE_COUNT 6
+@@ -146,6 +149,7 @@ void snd_motu_transaction_unregister(struct snd_motu *motu);
+
+ int snd_motu_stream_init_duplex(struct snd_motu *motu);
+ void snd_motu_stream_destroy_duplex(struct snd_motu *motu);
++int snd_motu_stream_cache_packet_formats(struct snd_motu *motu);
+ int snd_motu_stream_start_duplex(struct snd_motu *motu, unsigned int rate);
+ void snd_motu_stream_stop_duplex(struct snd_motu *motu);
+ int snd_motu_stream_lock_try(struct snd_motu *motu);
+--
+2.16.4
+
diff --git a/patches.drivers/ALSA-firewire-motu-add-support-for-MOTU-Audio-Expres.patch b/patches.drivers/ALSA-firewire-motu-add-support-for-MOTU-Audio-Expres.patch
new file mode 100644
index 0000000000..ea926e3ae1
--- /dev/null
+++ b/patches.drivers/ALSA-firewire-motu-add-support-for-MOTU-Audio-Expres.patch
@@ -0,0 +1,110 @@
+From 3a93d082bacf887b47737c4b75c083dea7570832 Mon Sep 17 00:00:00 2001
+From: Takashi Sakamoto <o-takashi@sakamocchi.jp>
+Date: Sun, 20 Aug 2017 21:25:04 +0900
+Subject: [PATCH] ALSA: firewire-motu: add support for MOTU Audio Express
+Git-commit: 3a93d082bacf887b47737c4b75c083dea7570832
+Patch-mainline: v4.14-rc1
+References: bsc#1051510
+
+MOTU Audio Express is one of third generation in MOTU FireWire
+series, produced in 2011. This model consists of three chips:
+ * TI TSB41AB2 (Physical layer for IEEE 1394 bus)
+ * Microchip USB3300 (Hi-Speed USB Device with ULPI interface)
+ * Xilinx Spartan-3A FPGA, XC3S400A (Link layer for IEEE 1394 bus, packet
+ processing and data block processing layer)
+
+This commit adds support for this model. As I expected, it works with
+current implementaion of protocol version 3. On the other hand, the unit
+has a quirk to request subaction originated by any driver.
+
+11:45:51.287643 firewire_ohci 0000:03:00.0: AT spd 2 tl 1f, ffc1 -> ffc0, -reserved-, QW req, fffff0000b14 = 02000200
+11:45:51.289193 firewire_ohci 0000:03:00.0: AR spd 2 tl 1f, ffc0 -> ffc1, ack_complete, W resp
+11:45:51.289381 fireire_core 0000:03:00.0: unsolicited response (source ffc0, tlabel 1f)
+11:45:51.313071 firewire_ohci 0000:03:00.0: AT spd 2 tl 20, ffc1 -> ffc0, ack_pending , QW req, fffff0000b14 = 02000200
+11:45:51.314539 firewire_ohci 0000:03:00.0: AR spd 2 tl 20, ffc0 -> ffc1, ack_complete, W resp
+
+In 1394 OHCI (rev.1.1), after OUTPUT_LAST* descriptors is processed,
+'xferStaus' field is filled with 'ContextControl[0:15]' (see clause 7.1.3).
+5 bits in LSB side of the field has ack code in acknowledge from the unit
+(see clause 7.2.2). A list of the code is shown in Table 3-2.
+
+As long as I investigated, in a case of the '-reserved-' acknowledge
+message from the unit, the field has 0x10. On the table, this value is
+'Reserved for definition by future 1394 standards'. As long as I know,
+any specifications of IEEE 1394 has no such extensions, thus the unit is
+out of specification. Besides, I note that the unit does not always
+acknowledge with the invalid code. I guess this is a bug of firmware. I
+confirmed the bug in firmware version 1.04 and this is the latest one.
+
+$ cd linux-firewire-utils
+$ python2 ./src/crpp < /sys/bus/firewire/devices/fw1/config_rom
+ ROM header and bus information block
+ -----------------------------------------------------------------
+400 0410a756 bus_info_length 4, crc_length 16, crc 42838
+404 31333934 bus_name "1394"
+408 20ff7000 irmc 0, cmc 0, isc 1, bmc 0, cyc_clk_acc 255, max_rec 7 (256)
+40c 0001f200 company_id 0001f2 |
+410 000a8a7b device_id 00000a8a7b | EUI-64 0001f200000a8a7b
+
+ root directory
+ -----------------------------------------------------------------
+414 0004ef04 directory_length 4, crc 61188
+418 030001f2 vendor
+41c 0c0083c0 node capabilities per IEEE 1394
+420 d1000002 --> unit directory at 428
+424 8d000005 --> eui-64 leaf at 438
+
+ unit directory at 428
+ -----------------------------------------------------------------
+428 00031680 directory_length 3, crc 5760
+42c 120001f2 specifier id
+430 13000033 version
+434 17104800 model
+
+ eui-64 leaf at 438
+ -----------------------------------------------------------------
+438 00025ef3 leaf_length 2, crc 24307
+43c 0001f200 company_id 0001f2 |
+440 000a8a7b device_id 00000a8a7b | EUI-64 0001f200000a8a7b
+
+Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ sound/firewire/motu/motu.c | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/sound/firewire/motu/motu.c b/sound/firewire/motu/motu.c
+index 13d26e36fe00..fddeb11283c3 100644
+--- a/sound/firewire/motu/motu.c
++++ b/sound/firewire/motu/motu.c
+@@ -224,6 +224,18 @@ static struct snd_motu_spec motu_828mk3 = {
+ .analog_out_ports = 8,
+ };
+
++static struct snd_motu_spec motu_audio_express = {
++ .name = "AudioExpress",
++ .protocol = &snd_motu_protocol_v3,
++ .flags = SND_MOTU_SPEC_SUPPORT_CLOCK_X2 |
++ SND_MOTU_SPEC_TX_MICINST_CHUNK |
++ SND_MOTU_SPEC_TX_RETURN_CHUNK |
++ SND_MOTU_SPEC_RX_MIDI_2ND_Q |
++ SND_MOTU_SPEC_TX_MIDI_3RD_Q,
++ .analog_in_ports = 2,
++ .analog_out_ports = 4,
++};
++
+ #define SND_MOTU_DEV_ENTRY(model, data) \
+ { \
+ .match_flags = IEEE1394_MATCH_VENDOR_ID | \
+@@ -239,6 +251,7 @@ static const struct ieee1394_device_id motu_id_table[] = {
+ SND_MOTU_DEV_ENTRY(0x101800, &motu_828mk2),
+ SND_MOTU_DEV_ENTRY(0x106800, &motu_828mk3), /* FireWire only. */
+ SND_MOTU_DEV_ENTRY(0x100800, &motu_828mk3), /* Hybrid. */
++ SND_MOTU_DEV_ENTRY(0x104800, &motu_audio_express),
+ { }
+ };
+ MODULE_DEVICE_TABLE(ieee1394, motu_id_table);
+--
+2.16.4
+
diff --git a/patches.drivers/ALSA-firewire-motu-add-support-for-Motu-Traveler.patch b/patches.drivers/ALSA-firewire-motu-add-support-for-Motu-Traveler.patch
new file mode 100644
index 0000000000..db83222259
--- /dev/null
+++ b/patches.drivers/ALSA-firewire-motu-add-support-for-Motu-Traveler.patch
@@ -0,0 +1,172 @@
+From 6c5e1ac0e144a8560cfa11bed8cdadab9491952f Mon Sep 17 00:00:00 2001
+From: Takashi Sakamoto <o-takashi@sakamocchi.jp>
+Date: Mon, 18 Jun 2018 21:07:55 +0900
+Subject: [PATCH] ALSA: firewire-motu: add support for Motu Traveler
+Git-commit: 6c5e1ac0e144a8560cfa11bed8cdadab9491952f
+Patch-mainline: v4.19-rc1
+References: bsc#1051510
+
+This commit adds support for MOTU Traveler, launched in 2005, discontinued
+quite before. As a result, transmission of PCM frame and MIDI messages is
+available via ALSA PCM and RawMIDI/Sequencer interfaces.
+
+This model supports sampling transmission frequency up to 192.0 kHz, and
+AES/EBU on XLR interface and ADAT on optical interface. Unlike
+Motu 828MkII, Windows driver can switch fetching mode for DSP, like
+mute/unmute feature.
+
+Although this commit enables high sampling transmission frequency, actual
+sound from this model is not good. As long as I tested, it's silence at
+176.4 kHz, and it includes hissing noise at 192.0 kHz. In my opinion, as I
+reported at 3526ce7f9ba7 ('ALSA: firewire-motu: add MOTU specific protocol
+layer'), timestamping on source packet header (SPH) may not still be good
+for this model as well.
+
+$ python2 crpp < /sys/bus/firewire/devices/fw1/config_rom
+ ROM header and bus information block
+ -----------------------------------------------------------------
+400 04106505 bus_info_length 4, crc_length 16, crc 25861
+404 31333934 bus_name "1394"
+408 20001000 irmc 0, cmc 0, isc 1, bmc 0, cyc_clk_acc 0, max_rec 1 (4)
+40c 0001f200 company_id 0001f2 |
+410 0001f32f device_id 000001f32f | EUI-64 0001f2000001f32f
+
+ root directory
+ -----------------------------------------------------------------
+414 0004c65c directory_length 4, crc 50780
+418 030001f2 vendor
+41c 0c0083c0 node capabilities per IEEE 1394
+420 8d000006 --> eui-64 leaf at 438
+424 d1000001 --> unit directory at 428
+
+ unit directory at 428
+ -----------------------------------------------------------------
+428 00035955 directory_length 3, crc 22869
+42c 120001f2 specifier id
+430 13000009 version
+434 17107800 model
+
+ eui-64 leaf at 438
+ -----------------------------------------------------------------
+438 000206b2 leaf_length 2, crc 1714
+43c 0001f200 company_id 0001f2 |
+440 0001f32f device_id 000001f32f | EUI-64 0001f2000001f32f
+
+Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ sound/firewire/motu/motu-protocol-v2.c | 34 ++++++++++++++++++++++++++++++++--
+ sound/firewire/motu/motu.c | 16 ++++++++++++++++
+ sound/firewire/motu/motu.h | 2 ++
+ 3 files changed, 50 insertions(+), 2 deletions(-)
+
+diff --git a/sound/firewire/motu/motu-protocol-v2.c b/sound/firewire/motu/motu-protocol-v2.c
+index e5bd3ac02300..453fc29fade7 100644
+--- a/sound/firewire/motu/motu-protocol-v2.c
++++ b/sound/firewire/motu/motu-protocol-v2.c
+@@ -13,6 +13,8 @@
+ #define V2_CLOCK_RATE_SHIFT 3
+ #define V2_CLOCK_SRC_MASK 0x00000007
+ #define V2_CLOCK_SRC_SHIFT 0
++#define V2_CLOCK_TRAVELER_FETCH_DISABLE 0x04000000
++#define V2_CLOCK_TRAVELER_FETCH_ENABLE 0x03000000
+
+ #define V2_IN_OUT_CONF_OFFSET 0x0c04
+ #define V2_OPT_OUT_IFACE_MASK 0x00000c00
+@@ -66,6 +68,11 @@ static int v2_set_clock_rate(struct snd_motu *motu, unsigned int rate)
+ data &= ~V2_CLOCK_RATE_MASK;
+ data |= i << V2_CLOCK_RATE_SHIFT;
+
++ if (motu->spec == &snd_motu_spec_traveler) {
++ data &= ~V2_CLOCK_TRAVELER_FETCH_ENABLE;
++ data |= V2_CLOCK_TRAVELER_FETCH_DISABLE;
++ }
++
+ reg = cpu_to_be32(data);
+ return snd_motu_transaction_write(motu, V2_CLOCK_STATUS_OFFSET, &reg,
+ sizeof(reg));
+@@ -121,8 +128,31 @@ static int v2_get_clock_source(struct snd_motu *motu,
+
+ static int v2_switch_fetching_mode(struct snd_motu *motu, bool enable)
+ {
+- /* V2 protocol doesn't have this feature. */
+- return 0;
++ __be32 reg;
++ u32 data;
++ int err = 0;
++
++ if (motu->spec == &snd_motu_spec_traveler) {
++ err = snd_motu_transaction_read(motu, V2_CLOCK_STATUS_OFFSET,
++ &reg, sizeof(reg));
++ if (err < 0)
++ return err;
++ data = be32_to_cpu(reg);
++
++ data &= ~(V2_CLOCK_TRAVELER_FETCH_DISABLE |
++ V2_CLOCK_TRAVELER_FETCH_ENABLE);
++
++ if (enable)
++ data |= V2_CLOCK_TRAVELER_FETCH_ENABLE;
++ else
++ data |= V2_CLOCK_TRAVELER_FETCH_DISABLE;
++
++ reg = cpu_to_be32(data);
++ err = snd_motu_transaction_write(motu, V2_CLOCK_STATUS_OFFSET,
++ &reg, sizeof(reg));
++ }
++
++ return err;
+ }
+
+ static void calculate_fixed_part(struct snd_motu_packet_format *formats,
+diff --git a/sound/firewire/motu/motu.c b/sound/firewire/motu/motu.c
+index 445aa589582d..300d31b6f191 100644
+--- a/sound/firewire/motu/motu.c
++++ b/sound/firewire/motu/motu.c
+@@ -209,6 +209,21 @@ static const struct snd_motu_spec motu_828mk2 = {
+ .analog_out_ports = 8,
+ };
+
++const struct snd_motu_spec snd_motu_spec_traveler = {
++ .name = "Traveler",
++ .protocol = &snd_motu_protocol_v2,
++ .flags = SND_MOTU_SPEC_SUPPORT_CLOCK_X2 |
++ SND_MOTU_SPEC_SUPPORT_CLOCK_X4 |
++ SND_MOTU_SPEC_TX_RETURN_CHUNK |
++ SND_MOTU_SPEC_HAS_AESEBU_IFACE |
++ SND_MOTU_SPEC_HAS_OPT_IFACE_A |
++ SND_MOTU_SPEC_RX_MIDI_2ND_Q |
++ SND_MOTU_SPEC_TX_MIDI_2ND_Q,
++
++ .analog_in_ports = 8,
++ .analog_out_ports = 8,
++};
++
+ static const struct snd_motu_spec motu_828mk3 = {
+ .name = "828mk3",
+ .protocol = &snd_motu_protocol_v3,
+@@ -253,6 +268,7 @@ static const struct snd_motu_spec motu_audio_express = {
+
+ static const struct ieee1394_device_id motu_id_table[] = {
+ SND_MOTU_DEV_ENTRY(0x101800, &motu_828mk2),
++ SND_MOTU_DEV_ENTRY(0x107800, &snd_motu_spec_traveler),
+ SND_MOTU_DEV_ENTRY(0x106800, &motu_828mk3), /* FireWire only. */
+ SND_MOTU_DEV_ENTRY(0x100800, &motu_828mk3), /* Hybrid. */
+ SND_MOTU_DEV_ENTRY(0x104800, &motu_audio_express),
+diff --git a/sound/firewire/motu/motu.h b/sound/firewire/motu/motu.h
+index 2764bcaab327..fd5327d30ab1 100644
+--- a/sound/firewire/motu/motu.h
++++ b/sound/firewire/motu/motu.h
+@@ -129,6 +129,8 @@ struct snd_motu_spec {
+ extern const struct snd_motu_protocol snd_motu_protocol_v2;
+ extern const struct snd_motu_protocol snd_motu_protocol_v3;
+
++extern const struct snd_motu_spec snd_motu_spec_traveler;
++
+ int amdtp_motu_init(struct amdtp_stream *s, struct fw_unit *unit,
+ enum amdtp_stream_direction dir,
+ const struct snd_motu_protocol *const protocol);
+--
+2.16.4
+
diff --git a/patches.drivers/ALSA-firewire-motu-use-version-field-of-unit-directo.patch b/patches.drivers/ALSA-firewire-motu-use-version-field-of-unit-directo.patch
new file mode 100644
index 0000000000..95030fae7b
--- /dev/null
+++ b/patches.drivers/ALSA-firewire-motu-use-version-field-of-unit-directo.patch
@@ -0,0 +1,97 @@
+From 2d012c65a9ca26a0ef87ea0a42f1653dd37155f5 Mon Sep 17 00:00:00 2001
+From: Takashi Sakamoto <o-takashi@sakamocchi.jp>
+Date: Sun, 17 Mar 2019 15:49:29 +0900
+Subject: [PATCH] ALSA: firewire-motu: use 'version' field of unit directory to identify model
+Git-commit: 2d012c65a9ca26a0ef87ea0a42f1653dd37155f5
+Patch-mainline: v5.1-rc2
+References: bsc#1051510
+
+Current ALSA firewire-motu driver uses the value of 'model' field
+of unit directory in configuration ROM for modalias for MOTU
+FireWire models. However, as long as I checked, Pre8 and
+828mk3(Hybrid) have the same value for the field (=0x100800).
+
+unit | version | model
+
+--------------- | --------- | ----------
+828mkII | 0x000003 | 0x101800
+Traveler | 0x000009 | 0x107800
+Pre8 | 0x00000f | 0x100800 <-
+828mk3(FW) | 0x000015 | 0x106800
+AudioExpress | 0x000033 | 0x104800
+828mk3(Hybrid) | 0x000035 | 0x100800 <-
+
+When updating firmware for MOTU 8pre FireWire from v1.0.0 to v1.0.3,
+I got change of the value from 0x100800 to 0x103800. On the other
+hand, the value of 'version' field is fixed to 0x00000f. As a quick
+glance, the higher 12 bits of the value of 'version' field represent
+firmware version, while the lower 12 bits is unknown.
+
+By induction, the value of 'version' field represents actual model.
+
+This commit changes modalias to match the value of 'version' field,
+instead of 'model' field. For degug, long name of added sound card
+includes hexadecimal value of 'model' field.
+
+Fixes: 6c5e1ac0e144 ("ALSA: firewire-motu: add support for Motu Traveler")
+Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
+Cc: <stable@vger.kernel.org> # v4.19+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+---
+ sound/firewire/motu/motu.c | 20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/sound/firewire/motu/motu.c b/sound/firewire/motu/motu.c
+index 220e61926ea4..513291ba0ab0 100644
+--- a/sound/firewire/motu/motu.c
++++ b/sound/firewire/motu/motu.c
+@@ -36,7 +36,7 @@ static void name_card(struct snd_motu *motu)
+ fw_csr_iterator_init(&it, motu->unit->directory);
+ while (fw_csr_iterator_next(&it, &key, &val)) {
+ switch (key) {
+- case CSR_VERSION:
++ case CSR_MODEL:
+ version = val;
+ break;
+ }
+@@ -46,7 +46,7 @@ static void name_card(struct snd_motu *motu)
+ strcpy(motu->card->shortname, motu->spec->name);
+ strcpy(motu->card->mixername, motu->spec->name);
+ snprintf(motu->card->longname, sizeof(motu->card->longname),
+- "MOTU %s (version:%d), GUID %08x%08x at %s, S%d",
++ "MOTU %s (version:%06x), GUID %08x%08x at %s, S%d",
+ motu->spec->name, version,
+ fw_dev->config_rom[3], fw_dev->config_rom[4],
+ dev_name(&motu->unit->device), 100 << fw_dev->max_speed);
+@@ -237,20 +237,20 @@ static const struct snd_motu_spec motu_audio_express = {
+ #define SND_MOTU_DEV_ENTRY(model, data) \
+ { \
+ .match_flags = IEEE1394_MATCH_VENDOR_ID | \
+- IEEE1394_MATCH_MODEL_ID | \
+- IEEE1394_MATCH_SPECIFIER_ID, \
++ IEEE1394_MATCH_SPECIFIER_ID | \
++ IEEE1394_MATCH_VERSION, \
+ .vendor_id = OUI_MOTU, \
+- .model_id = model, \
+ .specifier_id = OUI_MOTU, \
++ .version = model, \
+ .driver_data = (kernel_ulong_t)data, \
+ }
+
+ static const struct ieee1394_device_id motu_id_table[] = {
+- SND_MOTU_DEV_ENTRY(0x101800, &motu_828mk2),
+- SND_MOTU_DEV_ENTRY(0x107800, &snd_motu_spec_traveler),
+- SND_MOTU_DEV_ENTRY(0x106800, &motu_828mk3), /* FireWire only. */
+- SND_MOTU_DEV_ENTRY(0x100800, &motu_828mk3), /* Hybrid. */
+- SND_MOTU_DEV_ENTRY(0x104800, &motu_audio_express),
++ SND_MOTU_DEV_ENTRY(0x000003, &motu_828mk2),
++ SND_MOTU_DEV_ENTRY(0x000009, &snd_motu_spec_traveler),
++ SND_MOTU_DEV_ENTRY(0x000015, &motu_828mk3), /* FireWire only. */
++ SND_MOTU_DEV_ENTRY(0x000035, &motu_828mk3), /* Hybrid. */
++ SND_MOTU_DEV_ENTRY(0x000033, &motu_audio_express),
+ { }
+ };
+ MODULE_DEVICE_TABLE(ieee1394, motu_id_table);
+--
+2.16.4
+
diff --git a/patches.drivers/ALSA-hda-add-Lenovo-IdeaCentre-B550-to-the-power_sav.patch b/patches.drivers/ALSA-hda-add-Lenovo-IdeaCentre-B550-to-the-power_sav.patch
new file mode 100644
index 0000000000..945d368678
--- /dev/null
+++ b/patches.drivers/ALSA-hda-add-Lenovo-IdeaCentre-B550-to-the-power_sav.patch
@@ -0,0 +1,44 @@
+From 721f1e6c1fd137e7e2053d8e103b666faaa2d50c Mon Sep 17 00:00:00 2001
+From: Jaroslav Kysela <perex@perex.cz>
+Date: Mon, 18 Mar 2019 13:45:43 +0100
+Subject: [PATCH] ALSA: hda - add Lenovo IdeaCentre B550 to the power_save_blacklist
+Git-commit: 721f1e6c1fd137e7e2053d8e103b666faaa2d50c
+Patch-mainline: v5.1-rc2
+References: bsc#1051510
+
+Another machine which does not like the power saving (noise):
+ https://bugzilla.redhat.com/show_bug.cgi?id=1689623
+
+Also, reorder the Lenovo C50 entry to keep the table sorted.
+
+Reported-by: hs.guimaraes@outlook.com
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+Cc: <stable@vger.kernel.org>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ sound/pci/hda/hda_intel.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
+index e5c49003e75f..4f502c92061f 100644
+--- a/sound/pci/hda/hda_intel.c
++++ b/sound/pci/hda/hda_intel.c
+@@ -2144,10 +2144,12 @@ static struct snd_pci_quirk power_save_blacklist[] = {
+ SND_PCI_QUIRK(0x8086, 0x2057, "Intel NUC5i7RYB", 0),
+ /* https://bugzilla.redhat.com/show_bug.cgi?id=1520902 */
+ SND_PCI_QUIRK(0x8086, 0x2068, "Intel NUC7i3BNB", 0),
+- /* https://bugzilla.redhat.com/show_bug.cgi?id=1572975 */
+- SND_PCI_QUIRK(0x17aa, 0x36a7, "Lenovo C50 All in one", 0),
+ /* https://bugzilla.kernel.org/show_bug.cgi?id=198611 */
+ SND_PCI_QUIRK(0x17aa, 0x2227, "Lenovo X1 Carbon 3rd Gen", 0),
++ /* https://bugzilla.redhat.com/show_bug.cgi?id=1689623 */
++ SND_PCI_QUIRK(0x17aa, 0x367b, "Lenovo IdeaCentre B550", 0),
++ /* https://bugzilla.redhat.com/show_bug.cgi?id=1572975 */
++ SND_PCI_QUIRK(0x17aa, 0x36a7, "Lenovo C50 All in one", 0),
+ {}
+ };
+ #endif /* CONFIG_PM */
+--
+2.16.4
+
diff --git a/patches.drivers/ALSA-opl3-fix-mismatch-between-snd_opl3_drum_switch-.patch b/patches.drivers/ALSA-opl3-fix-mismatch-between-snd_opl3_drum_switch-.patch
new file mode 100644
index 0000000000..fe15500692
--- /dev/null
+++ b/patches.drivers/ALSA-opl3-fix-mismatch-between-snd_opl3_drum_switch-.patch
@@ -0,0 +1,34 @@
+From b4748e7ab731e436cf5db4786358ada5dd2db6dd Mon Sep 17 00:00:00 2001
+From: Colin Ian King <colin.king@canonical.com>
+Date: Sun, 17 Mar 2019 23:21:24 +0000
+Subject: [PATCH] ALSA: opl3: fix mismatch between snd_opl3_drum_switch definition and declaration
+Git-commit: b4748e7ab731e436cf5db4786358ada5dd2db6dd
+Patch-mainline: v5.1-rc2
+References: bsc#1051510
+
+The function snd_opl3_drum_switch declaration in the header file
+has the order of the two arguments on_off and vel swapped when
+compared to the definition arguments of vel and on_off. Fix this
+by swapping them around to match the definition.
+
+This error predates the git history, so no idea when this error
+was introduced.
+
+Signed-off-by: Colin Ian King <colin.king@canonical.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ sound/drivers/opl3/opl3_voice.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/sound/drivers/opl3/opl3_voice.h
++++ b/sound/drivers/opl3/opl3_voice.h
+@@ -41,7 +41,7 @@ void snd_opl3_timer_func(unsigned long d
+
+ /* Prototypes for opl3_drums.c */
+ void snd_opl3_load_drums(struct snd_opl3 *opl3);
+-void snd_opl3_drum_switch(struct snd_opl3 *opl3, int note, int on_off, int vel, struct snd_midi_channel *chan);
++void snd_opl3_drum_switch(struct snd_opl3 *opl3, int note, int vel, int on_off, struct snd_midi_channel *chan);
+
+ /* Prototypes for opl3_oss.c */
+ #ifdef CONFIG_SND_SEQUENCER_OSS
diff --git a/patches.drivers/ALSA-sb8-add-a-check-for-request_region.patch b/patches.drivers/ALSA-sb8-add-a-check-for-request_region.patch
new file mode 100644
index 0000000000..8ae8642da5
--- /dev/null
+++ b/patches.drivers/ALSA-sb8-add-a-check-for-request_region.patch
@@ -0,0 +1,36 @@
+From dcd0feac9bab901d5739de51b3f69840851f8919 Mon Sep 17 00:00:00 2001
+From: Kangjie Lu <kjlu@umn.edu>
+Date: Thu, 14 Mar 2019 23:04:14 -0500
+Subject: [PATCH] ALSA: sb8: add a check for request_region
+Git-commit: dcd0feac9bab901d5739de51b3f69840851f8919
+Patch-mainline: v5.1-rc2
+References: bsc#1051510
+
+In case request_region fails, the fix returns an error code to
+avoid NULL pointer dereference.
+
+Signed-off-by: Kangjie Lu <kjlu@umn.edu>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ sound/isa/sb/sb8.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/sound/isa/sb/sb8.c b/sound/isa/sb/sb8.c
+index aa2a83eb81a9..dc27a480c2d9 100644
+--- a/sound/isa/sb/sb8.c
++++ b/sound/isa/sb/sb8.c
+@@ -111,6 +111,10 @@ static int snd_sb8_probe(struct device *pdev, unsigned int dev)
+
+ /* block the 0x388 port to avoid PnP conflicts */
+ acard->fm_res = request_region(0x388, 4, "SoundBlaster FM");
++ if (!acard->fm_res) {
++ err = -EBUSY;
++ goto _err;
++ }
+
+ if (port[dev] != SNDRV_AUTO_PORT) {
+ if ((err = snd_sbdsp_create(card, port[dev], irq[dev],
+--
+2.16.4
+
diff --git a/patches.suse/0001-drm-vmwgfx-Don-t-double-free-the-mode-stored-in-par-.patch b/patches.drm/0001-drm-vmwgfx-Don-t-double-free-the-mode-stored-in-par-.patch
index 5f0e329f42..64919c1dc5 100644
--- a/patches.suse/0001-drm-vmwgfx-Don-t-double-free-the-mode-stored-in-par-.patch
+++ b/patches.drm/0001-drm-vmwgfx-Don-t-double-free-the-mode-stored-in-par-.patch
@@ -1,18 +1,23 @@
-From 4f2640bed6a5928548fc611d579db3cb29d32100 Mon Sep 17 00:00:00 2001
+From c2d311553855395764e2e5bf401d987ba65c2056 Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann <tzimmermann@suse.de>
-Date: Fri, 1 Mar 2019 15:12:57 +0100
-Subject: drm/vmwgfx: Don't double-free the mode stored in par->set_mode
-Patch-mainline: Never, not yet submitted to upstream
-References: bsc#1103429
+Date: Mon, 18 Mar 2019 15:47:58 +0100
+Subject: [PATCH] drm/vmwgfx: Don't double-free the mode stored in par->set_mode
+Git-commit: c2d311553855395764e2e5bf401d987ba65c2056
+Patch-mainline: v5.1-rc2
+References: bsc#1051510
When calling vmw_fb_set_par(), the mode stored in par->set_mode gets free'd
twice. The first free is in vmw_fb_kms_detach(), the second is near the
end of vmw_fb_set_par() under the name of 'old_mode'. The mode-setting code
-only works correctly if the mode doesn't actually change. Removing 'old_mode'
-in favor of using par->set_mode directly fixes the problem.
+only works correctly if the mode doesn't actually change. Removing
+'old_mode' in favor of using par->set_mode directly fixes the problem.
+Cc: <stable@vger.kernel.org>
+Fixes: a278724aa23c ("drm/vmwgfx: Implement fbdev on kms v2")
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
-Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
+Reviewed-by: Deepak Rawat <drawat@vmware.com>
+Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
+
---
drivers/gpu/drm/vmwgfx/vmwgfx_fb.c | 12 +++---------
1 file changed, 3 insertions(+), 9 deletions(-)
diff --git a/patches.drm/drm-i915-bios-assume-eDP-is-present-on-port-A-when-t.patch b/patches.drm/drm-i915-bios-assume-eDP-is-present-on-port-A-when-t.patch
new file mode 100644
index 0000000000..0735bb148a
--- /dev/null
+++ b/patches.drm/drm-i915-bios-assume-eDP-is-present-on-port-A-when-t.patch
@@ -0,0 +1,42 @@
+From 6e0473633af059a559ce7b4cbaa51e389c94085e Mon Sep 17 00:00:00 2001
+From: Thomas Preston <thomas.preston@codethink.co.uk>
+Date: Wed, 6 Mar 2019 20:06:18 +0000
+Subject: [PATCH] drm/i915/bios: assume eDP is present on port A when there is no VBT
+Git-commit: 6e0473633af059a559ce7b4cbaa51e389c94085e
+Patch-mainline: v5.1-rc2
+No-fix: 2131bc0ced6088648e47f126566c3da58b07e4ef
+References: bsc#1051510
+
+We rely on VBT DDI port info for eDP detection on GEN9 platforms and
+above. This breaks GEN9 platforms which don't have VBT because port A
+eDP now defaults to false. Fix this by defaulting to true when VBT is
+missing.
+
+Fixes: a98d9c1d7e9b ("drm/i915/ddi: Rely on VBT DDI port info for eDP detection")
+Signed-off-by: Thomas Preston <thomas.preston@codethink.co.uk>
+Signed-off-by: Jani Nikula <jani.nikula@intel.com>
+Link: https://patchwork.freedesktop.org/patch/msgid/20190306200618.17405-1-thomas.preston@codethink.co.uk
+(cherry picked from commit 2131bc0ced6088648e47f126566c3da58b07e4ef)
+
+Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/gpu/drm/i915/intel_bios.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
+index b508d8a735e0..4364f42cac6b 100644
+--- a/drivers/gpu/drm/i915/intel_bios.c
++++ b/drivers/gpu/drm/i915/intel_bios.c
+@@ -1673,6 +1673,7 @@ init_vbt_missing_defaults(struct drm_i915_private *dev_priv)
+ info->supports_dvi = (port != PORT_A && port != PORT_E);
+ info->supports_hdmi = info->supports_dvi;
+ info->supports_dp = (port != PORT_E);
++ info->supports_edp = (port == PORT_A);
+ }
+ }
+
+--
+2.16.4
+
diff --git a/patches.drm/drm-nouveau-debugfs-Fix-check-of-pm_runtime_get_sync.patch b/patches.drm/drm-nouveau-debugfs-Fix-check-of-pm_runtime_get_sync.patch
new file mode 100644
index 0000000000..cb2c8efa0f
--- /dev/null
+++ b/patches.drm/drm-nouveau-debugfs-Fix-check-of-pm_runtime_get_sync.patch
@@ -0,0 +1,35 @@
+From 909e9c9c428376e2a43d178ed4b0a2d5ba9cb7d3 Mon Sep 17 00:00:00 2001
+From: YueHaibing <yuehaibing@huawei.com>
+Date: Thu, 28 Feb 2019 20:24:59 +0800
+Subject: [PATCH] drm/nouveau/debugfs: Fix check of pm_runtime_get_sync failure
+Git-commit: 909e9c9c428376e2a43d178ed4b0a2d5ba9cb7d3
+Patch-mainline: v5.1-rc2
+References: bsc#1051510
+
+pm_runtime_get_sync returns negative on failure.
+
+Fixes: eaeb9010bb4b ("drm/nouveau/debugfs: Wake up GPU before doing any reclocking")
+Signed-off-by: YueHaibing <yuehaibing@huawei.com>
+Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ drivers/gpu/drm/nouveau/nouveau_debugfs.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/nouveau/nouveau_debugfs.c b/drivers/gpu/drm/nouveau/nouveau_debugfs.c
+index 88a52f6b39fe..7dfbbbc1beea 100644
+--- a/drivers/gpu/drm/nouveau/nouveau_debugfs.c
++++ b/drivers/gpu/drm/nouveau/nouveau_debugfs.c
+@@ -181,7 +181,7 @@ nouveau_debugfs_pstate_set(struct file *file, const char __user *ubuf,
+ }
+
+ ret = pm_runtime_get_sync(drm->dev);
+- if (IS_ERR_VALUE(ret) && ret != -EACCES)
++ if (ret < 0 && ret != -EACCES)
+ return ret;
+ ret = nvif_mthd(ctrl, NVIF_CONTROL_PSTATE_USER, &args, sizeof(args));
+ pm_runtime_put_autosuspend(drm->dev);
+--
+2.16.4
+
diff --git a/patches.fixes/nvme-schedule-requeue-whenever-a-LIVE-state-is-enter.patch b/patches.fixes/nvme-schedule-requeue-whenever-a-LIVE-state-is-enter.patch
new file mode 100644
index 0000000000..67a7f4929a
--- /dev/null
+++ b/patches.fixes/nvme-schedule-requeue-whenever-a-LIVE-state-is-enter.patch
@@ -0,0 +1,55 @@
+From 10baeb16126ee8e1373968399d52e742a0699a54 Mon Sep 17 00:00:00 2001
+From: Hannes Reinecke <hare@suse.de>
+Date: Mon, 18 Mar 2019 11:11:46 +0100
+Subject: [PATCH] nvme: schedule requeue whenever a LIVE state is entered
+Patch-Mainline: submitted linux-nvme 2019/03/21
+References: bsc#1123105
+
+When undergoing state transitions I/O might be requeued, hence
+we always have to schedule requeue_work whenever the nvme device
+is live, independent on whether the old state was live or not.
+
+Reported-by: Martin George <martin.george@netapp.com>
+Signed-off-by: Hannes Reinecke <hare@suse.com>
+---
+ drivers/nvme/host/multipath.c | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/drivers/nvme/host/multipath.c b/drivers/nvme/host/multipath.c
+index 6e1abe704dc8..159c799662de 100644
+--- a/drivers/nvme/host/multipath.c
++++ b/drivers/nvme/host/multipath.c
+@@ -355,8 +355,6 @@ static void nvme_mpath_set_live(struct nvme_ns *ns)
+ dev->groups = nvme_ns_id_attr_groups;
+ device_add_disk(&head->subsys->dev, head->disk);
+ }
+-
+- kblockd_schedule_work(&ns->head->requeue_work);
+ }
+
+ static int nvme_parse_ana_log(struct nvme_ctrl *ctrl, void *data,
+@@ -415,8 +413,11 @@ static void nvme_update_ns_ana_state(struct nvme_ana_group_desc *desc,
+ ns->ana_state = desc->state;
+ clear_bit(NVME_NS_ANA_PENDING, &ns->flags);
+
+- if (nvme_state_is_live(ns->ana_state) && !nvme_state_is_live(old))
+- nvme_mpath_set_live(ns);
++ if (nvme_state_is_live(ns->ana_state)) {
++ if (!nvme_state_is_live(old))
++ nvme_mpath_set_live(ns);
++ kblockd_schedule_work(&ns->head->requeue_work);
++ }
+ mutex_unlock(&ns->head->lock);
+ }
+
+@@ -597,6 +598,7 @@ void nvme_mpath_add_disk(struct nvme_ns *ns, struct nvme_id_ns *id)
+ mutex_lock(&ns->head->lock);
+ ns->ana_state = NVME_ANA_OPTIMIZED;
+ nvme_mpath_set_live(ns);
++ kblockd_schedule_work(&ns->head->requeue_work);
+ mutex_unlock(&ns->head->lock);
+ }
+ }
+--
+2.16.4
+
diff --git a/series.conf b/series.conf
index 43b0429573..0ca77fa0d1 100644
--- a/series.conf
+++ b/series.conf
@@ -6245,6 +6245,9 @@
patches.fixes/0001-md-bitmap-disable-bitmap_resize-for-file-backed-bitm.patch
patches.drivers/ALSA-hda-Fix-regression-of-hdmi-eld-control-created-
patches.drivers/ALSA-hda-Add-Cannonlake-PCI-ID
+ patches.drivers/ALSA-firewire-motu-add-specification-flag-for-positi.patch
+ patches.drivers/ALSA-firewire-motu-add-support-for-MOTU-Audio-Expres.patch
+ patches.drivers/ALSA-firewire-add-const-qualifier-to-identifiers-for.patch
patches.drivers/ALSA-ice1712-Add-support-for-STAudio-ADCIII
patches.drivers/ALSA-hda-Implement-mic-mute-LED-mode-enum
patches.drivers/ALSA-hda-realtek-Enable-jack-detection-function-for-
@@ -18201,6 +18204,8 @@
patches.drivers/ALSA-hda-Turn-CX8200-into-D3-as-well-upon-reboot
patches.drivers/ALSA-hda-Sleep-for-10ms-after-entering-D3-on-Conexan
patches.drivers/ALSA-hda-Correct-Asrock-B85M-ITX-power_save-blacklis
+ patches.drivers/ALSA-firewire-motu-add-a-flag-for-AES-EBU-on-XLR-int.patch
+ patches.drivers/ALSA-firewire-motu-add-support-for-Motu-Traveler.patch
patches.drivers/ALSA-hda-realtek-Allow-skipping-spec-init_amp-detect.patch
patches.drivers/ALSA-hda-realtek-Manage-GPIO-bits-commonly.patch
patches.drivers/ALSA-hda-realtek-Add-GPIO-data-update-helper.patch
@@ -21184,6 +21189,14 @@
patches.fixes/9p-use-inode-i_lock-to-protect-i_size_write-under-32.patch
patches.fixes/9p-net-fix-memory-leak-in-p9_client_create.patch
patches.fixes/perf-x86-intel-fix-memory-corruption.patch
+ patches.drm/drm-nouveau-debugfs-Fix-check-of-pm_runtime_get_sync.patch
+ patches.drm/drm-i915-bios-assume-eDP-is-present-on-port-A-when-t.patch
+ patches.drm/0001-drm-vmwgfx-Don-t-double-free-the-mode-stored-in-par-.patch
+ patches.drivers/ALSA-echoaudio-add-a-check-for-ioremap_nocache.patch
+ patches.drivers/ALSA-sb8-add-a-check-for-request_region.patch
+ patches.drivers/ALSA-firewire-motu-use-version-field-of-unit-directo.patch
+ patches.drivers/ALSA-hda-add-Lenovo-IdeaCentre-B550-to-the-power_sav.patch
+ patches.drivers/ALSA-opl3-fix-mismatch-between-snd_opl3_drum_switch-.patch
# davem/net-next
patches.drivers/ibmvnic-Report-actual-backing-device-speed-and-duple.patch
@@ -21208,7 +21221,6 @@
patches.fixes/bsg-Do-not-copy-sense-if-no-response-buffer-is-alloc.patch
patches.suse/mpt3sas-check-sense-buffer-before-copying-sense-data.patch
patches.suse/cifs-fix-set-info.patch
- patches.suse/0001-drm-vmwgfx-Don-t-double-free-the-mode-stored-in-par-.patch
patches.arch/pseries-energy-Use-OF-accessor-function-to-read-ibm-.patch
patches.fixes/block_dev-fix-crash-on-chained-bios-with-O_DIRECT.patch
patches.fixes/ch-add-missing-mutex_lock-mutex_unlock-in-ch_release.patch
@@ -21540,6 +21552,7 @@
patches.fixes/scsi-retry-alua-transition-in-progress
patches.drivers/megaraid-mbox-fix-SG_IO
patches.suse/fcoe-reduce-max_sectors
+ patches.fixes/nvme-schedule-requeue-whenever-a-LIVE-state-is-enter.patch
# bsc#1048585 bsc#1080813
patches.suse/delay-add-poll_event_interruptible.patch