--- /dev/null
+From 00c87e9a70a17b355b81c36adedf05e84f54e10d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= <rkrcmar@redhat.com>
+Date: Wed, 1 Feb 2017 14:19:53 +0100
+Subject: KVM: x86: do not save guest-unsupported XSAVE state
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Radim Krčmář <rkrcmar@redhat.com>
+
+commit 00c87e9a70a17b355b81c36adedf05e84f54e10d upstream.
+
+Saving unsupported state prevents migration when the new host does not
+support a XSAVE feature of the original host, even if the feature is not
+exposed to the guest.
+
+We've masked host features with guest-visible features before, with
+4344ee981e21 ("KVM: x86: only copy XSAVE state for the supported
+features") and dropped it when implementing XSAVES. Do it again.
+
+Fixes: df1daba7d1cb ("KVM: x86: support XSAVES usage in the host")
+Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
+Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/x86/kvm/x86.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/arch/x86/kvm/x86.c
++++ b/arch/x86/kvm/x86.c
+@@ -3057,6 +3057,7 @@ static void fill_xsave(u8 *dest, struct
+ memcpy(dest, xsave, XSAVE_HDR_OFFSET);
+
+ /* Set XSTATE_BV */
++ xstate_bv &= vcpu->arch.guest_supported_xcr0 | XFEATURE_MASK_FPSSE;
+ *(u64 *)(dest + XSAVE_HDR_OFFSET) = xstate_bv;
+
+ /*
mmc-sdhci-ignore-unexpected-card_int-interrupts.patch
percpu-refcount-fix-reference-leak-during-percpu-atomic-transition.patch
hid-wacom-fix-poor-prox-handling-in-wacom_pl_irq.patch
+kvm-x86-do-not-save-guest-unsupported-xsave-state.patch
+usb-serial-qcserial-add-dell-dw5570-qdl.patch
+usb-serial-pl2303-add-aten-device-id.patch
+usb-add-quirk-for-worlde-easykey.25-midi-keyboard.patch
--- /dev/null
+From d9b2997e4a0a874e452df7cdd7de5a54502bd0aa Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Lalinsk=C3=BD?= <lukas@oxygene.sk>
+Date: Fri, 20 Jan 2017 19:46:34 +0100
+Subject: USB: Add quirk for WORLDE easykey.25 MIDI keyboard
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Lukáš Lalinský <lukas@oxygene.sk>
+
+commit d9b2997e4a0a874e452df7cdd7de5a54502bd0aa upstream.
+
+Add a quirk for WORLDE easykey.25 MIDI keyboard (idVendor=0218,
+idProduct=0401). The device reports that it has config string
+descriptor at index 3, but when the system selects the configuration
+and tries to get the description, it returns a -EPROTO error,
+the communication restarts and this keeps repeating over and over again.
+Not requesting the string descriptor makes the device work correctly.
+
+Relevant info from Wireshark:
+
+[...]
+
+CONFIGURATION DESCRIPTOR
+ bLength: 9
+ bDescriptorType: 0x02 (CONFIGURATION)
+ wTotalLength: 101
+ bNumInterfaces: 2
+ bConfigurationValue: 1
+ iConfiguration: 3
+ Configuration bmAttributes: 0xc0 SELF-POWERED NO REMOTE-WAKEUP
+ 1... .... = Must be 1: Must be 1 for USB 1.1 and higher
+ .1.. .... = Self-Powered: This device is SELF-POWERED
+ ..0. .... = Remote Wakeup: This device does NOT support remote wakeup
+ bMaxPower: 50 (100mA)
+
+[...]
+
+ 45 0.369104 host 2.38.0 USB 64 GET DESCRIPTOR Request STRING
+
+[...]
+
+URB setup
+ bmRequestType: 0x80
+ 1... .... = Direction: Device-to-host
+ .00. .... = Type: Standard (0x00)
+ ...0 0000 = Recipient: Device (0x00)
+ bRequest: GET DESCRIPTOR (6)
+ Descriptor Index: 0x03
+ bDescriptorType: 0x03
+ Language Id: English (United States) (0x0409)
+ wLength: 255
+
+ 46 0.369255 2.38.0 host USB 64 GET DESCRIPTOR Response STRING[Malformed Packet]
+
+[...]
+
+Frame 46: 64 bytes on wire (512 bits), 64 bytes captured (512 bits) on interface 0
+USB URB
+ [Source: 2.38.0]
+ [Destination: host]
+ URB id: 0xffff88021f62d480
+ URB type: URB_COMPLETE ('C')
+ URB transfer type: URB_CONTROL (0x02)
+ Endpoint: 0x80, Direction: IN
+ Device: 38
+ URB bus id: 2
+ Device setup request: not relevant ('-')
+ Data: present (0)
+ URB sec: 1484896277
+ URB usec: 455031
+ URB status: Protocol error (-EPROTO) (-71)
+ URB length [bytes]: 0
+ Data length [bytes]: 0
+ [Request in: 45]
+ [Time from request: 0.000151000 seconds]
+ Unused Setup Header
+ Interval: 0
+ Start frame: 0
+ Copy of Transfer Flags: 0x00000200
+ Number of ISO descriptors: 0
+[Malformed Packet: USB]
+ [Expert Info (Error/Malformed): Malformed Packet (Exception occurred)]
+ [Malformed Packet (Exception occurred)]
+ [Severity level: Error]
+ [Group: Malformed]
+
+Signed-off-by: Lukáš Lalinský <lukas@oxygene.sk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/usb/core/quirks.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/drivers/usb/core/quirks.c
++++ b/drivers/usb/core/quirks.c
+@@ -37,6 +37,10 @@ static const struct usb_device_id usb_qu
+ /* CBM - Flash disk */
+ { USB_DEVICE(0x0204, 0x6025), .driver_info = USB_QUIRK_RESET_RESUME },
+
++ /* WORLDE easy key (easykey.25) MIDI controller */
++ { USB_DEVICE(0x0218, 0x0401), .driver_info =
++ USB_QUIRK_CONFIG_INTF_STRINGS },
++
+ /* HP 5300/5370C scanner */
+ { USB_DEVICE(0x03f0, 0x0701), .driver_info =
+ USB_QUIRK_STRING_FETCH_255 },
--- /dev/null
+From d07830db1bdb254e4b50d366010b219286b8c937 Mon Sep 17 00:00:00 2001
+From: "Marcel J.E. Mol" <marcel@mesa.nl>
+Date: Mon, 30 Jan 2017 19:26:40 +0100
+Subject: USB: serial: pl2303: add ATEN device ID
+
+From: Marcel J.E. Mol <marcel@mesa.nl>
+
+commit d07830db1bdb254e4b50d366010b219286b8c937 upstream.
+
+Seems that ATEN serial-to-usb devices using pl2303 exist with
+different device ids. This patch adds a missing device ID so it
+is recognised by the driver.
+
+Signed-off-by: Marcel J.E. Mol <marcel@mesa.nl>
+Signed-off-by: Johan Hovold <johan@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/usb/serial/pl2303.c | 1 +
+ drivers/usb/serial/pl2303.h | 1 +
+ 2 files changed, 2 insertions(+)
+
+--- a/drivers/usb/serial/pl2303.c
++++ b/drivers/usb/serial/pl2303.c
+@@ -49,6 +49,7 @@ static const struct usb_device_id id_tab
+ { USB_DEVICE(IODATA_VENDOR_ID, IODATA_PRODUCT_ID) },
+ { USB_DEVICE(IODATA_VENDOR_ID, IODATA_PRODUCT_ID_RSAQ5) },
+ { USB_DEVICE(ATEN_VENDOR_ID, ATEN_PRODUCT_ID) },
++ { USB_DEVICE(ATEN_VENDOR_ID, ATEN_PRODUCT_ID2) },
+ { USB_DEVICE(ATEN_VENDOR_ID2, ATEN_PRODUCT_ID) },
+ { USB_DEVICE(ELCOM_VENDOR_ID, ELCOM_PRODUCT_ID) },
+ { USB_DEVICE(ELCOM_VENDOR_ID, ELCOM_PRODUCT_ID_UCSGT) },
+--- a/drivers/usb/serial/pl2303.h
++++ b/drivers/usb/serial/pl2303.h
+@@ -27,6 +27,7 @@
+ #define ATEN_VENDOR_ID 0x0557
+ #define ATEN_VENDOR_ID2 0x0547
+ #define ATEN_PRODUCT_ID 0x2008
++#define ATEN_PRODUCT_ID2 0x2118
+
+ #define IODATA_VENDOR_ID 0x04bb
+ #define IODATA_PRODUCT_ID 0x0a03
--- /dev/null
+From 24d615a694d649aa2e167c3f97f62bdad07e3f84 Mon Sep 17 00:00:00 2001
+From: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed, 18 Jan 2017 21:31:31 +0100
+Subject: USB: serial: qcserial: add Dell DW5570 QDL
+
+From: Aleksander Morgado <aleksander@aleksander.es>
+
+commit 24d615a694d649aa2e167c3f97f62bdad07e3f84 upstream.
+
+The Dell DW5570 is a re-branded Sierra Wireless MC8805 which will by
+default boot with vid 0x413c and pid 0x81a3. When triggered QDL download
+mode, the device switches to pid 0x81a6 and provides the standard TTY
+used for firmware upgrade.
+
+Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
+Signed-off-by: Johan Hovold <johan@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/usb/serial/qcserial.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/usb/serial/qcserial.c
++++ b/drivers/usb/serial/qcserial.c
+@@ -124,6 +124,7 @@ static const struct usb_device_id id_tab
+ {USB_DEVICE(0x1410, 0xa021)}, /* Novatel Gobi 3000 Composite */
+ {USB_DEVICE(0x413c, 0x8193)}, /* Dell Gobi 3000 QDL */
+ {USB_DEVICE(0x413c, 0x8194)}, /* Dell Gobi 3000 Composite */
++ {USB_DEVICE(0x413c, 0x81a6)}, /* Dell DW5570 QDL (MC8805) */
+ {USB_DEVICE(0x1199, 0x68a4)}, /* Sierra Wireless QDL */
+ {USB_DEVICE(0x1199, 0x68a5)}, /* Sierra Wireless Modem */
+ {USB_DEVICE(0x1199, 0x68a8)}, /* Sierra Wireless QDL */