]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 5 Jun 2020 11:00:33 +0000 (13:00 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 5 Jun 2020 11:00:33 +0000 (13:00 +0200)
added patches:
hid-i2c-hid-add-schneider-scl142alm-to-descriptor-override.patch
hid-multitouch-enable-multi-input-as-a-quirk-for-some-devices.patch
hid-sony-fix-for-broken-buttons-on-ds3-usb-dongles.patch
kernel-relay.c-handle-alloc_percpu-returning-null-in-relay_open.patch
media-revert-staging-imgu-address-a-compiler-warning-on-alignment.patch
media-staging-ipu3-imgu-move-alignment-attribute-to-field.patch
mm-fix-mremap-not-considering-huge-pmd-devmap.patch
mmc-fix-compilation-of-user-api.patch
mt76-mt76x02u-add-support-for-newer-versions-of-the-xbox-one-wifi-adapter.patch
p54usb-add-airvast-usb-stick-device-id.patch

12 files changed:
queue-5.4/hid-i2c-hid-add-schneider-scl142alm-to-descriptor-override.patch [new file with mode: 0644]
queue-5.4/hid-multitouch-enable-multi-input-as-a-quirk-for-some-devices.patch [new file with mode: 0644]
queue-5.4/hid-sony-fix-for-broken-buttons-on-ds3-usb-dongles.patch [new file with mode: 0644]
queue-5.4/kernel-relay.c-handle-alloc_percpu-returning-null-in-relay_open.patch [new file with mode: 0644]
queue-5.4/media-revert-staging-imgu-address-a-compiler-warning-on-alignment.patch [new file with mode: 0644]
queue-5.4/media-staging-ipu3-imgu-move-alignment-attribute-to-field.patch [new file with mode: 0644]
queue-5.4/mm-fix-mremap-not-considering-huge-pmd-devmap.patch [new file with mode: 0644]
queue-5.4/mmc-fix-compilation-of-user-api.patch [new file with mode: 0644]
queue-5.4/mt76-mt76x02u-add-support-for-newer-versions-of-the-xbox-one-wifi-adapter.patch [new file with mode: 0644]
queue-5.4/p54usb-add-airvast-usb-stick-device-id.patch [new file with mode: 0644]
queue-5.4/revert-cgroup-add-memory-barriers-to-plug-cgroup_rst.patch
queue-5.4/series

diff --git a/queue-5.4/hid-i2c-hid-add-schneider-scl142alm-to-descriptor-override.patch b/queue-5.4/hid-i2c-hid-add-schneider-scl142alm-to-descriptor-override.patch
new file mode 100644 (file)
index 0000000..9c69627
--- /dev/null
@@ -0,0 +1,38 @@
+From 6507ef10660efdfee93f0f3b9fac24b5e4d83e56 Mon Sep 17 00:00:00 2001
+From: Julian Sax <jsbc@gmx.de>
+Date: Tue, 5 May 2020 17:10:42 +0200
+Subject: HID: i2c-hid: add Schneider SCL142ALM to descriptor override
+
+From: Julian Sax <jsbc@gmx.de>
+
+commit 6507ef10660efdfee93f0f3b9fac24b5e4d83e56 upstream.
+
+This device uses the SIPODEV SP1064 touchpad, which does not
+supply descriptors, so it has to be added to the override list.
+
+Cc: stable@vger.kernel.org
+Signed-off-by: Julian Sax <jsbc@gmx.de>
+Signed-off-by: Jiri Kosina <jkosina@suse.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/hid/i2c-hid/i2c-hid-dmi-quirks.c |    8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+--- a/drivers/hid/i2c-hid/i2c-hid-dmi-quirks.c
++++ b/drivers/hid/i2c-hid/i2c-hid-dmi-quirks.c
+@@ -389,6 +389,14 @@ static const struct dmi_system_id i2c_hi
+               },
+               .driver_data = (void *)&sipodev_desc
+       },
++      {
++              .ident = "Schneider SCL142ALM",
++              .matches = {
++                      DMI_EXACT_MATCH(DMI_SYS_VENDOR, "SCHNEIDER"),
++                      DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "SCL142ALM"),
++              },
++              .driver_data = (void *)&sipodev_desc
++      },
+       { }     /* Terminate list */
+ };
diff --git a/queue-5.4/hid-multitouch-enable-multi-input-as-a-quirk-for-some-devices.patch b/queue-5.4/hid-multitouch-enable-multi-input-as-a-quirk-for-some-devices.patch
new file mode 100644 (file)
index 0000000..f23c013
--- /dev/null
@@ -0,0 +1,102 @@
+From 40d5bb87377a599d0405af765290f28aaa6abb1e Mon Sep 17 00:00:00 2001
+From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
+Date: Tue, 26 May 2020 17:07:17 +0200
+Subject: HID: multitouch: enable multi-input as a quirk for some devices
+
+From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
+
+commit 40d5bb87377a599d0405af765290f28aaa6abb1e upstream.
+
+Two touchpad/trackstick combos are currently not behaving properly.
+They define a mouse emulation collection, as per Win8 requirements,
+but also define a separate mouse collection for the trackstick.
+
+The way the kernel currently treat the collections is that it
+merges both in one device. However, given that the first mouse
+collection already defines X,Y and left, right buttons, when
+mapping the events from the second mouse collection, hid-multitouch
+sees that these events are already mapped, and simply ignores them.
+
+To be able to report events from the tracktick, add a new quirked
+class for it, and manually add the 2 devices we know about.
+
+Link: https://bugzilla.kernel.org/show_bug.cgi?id=207235
+Cc: stable@vger.kernel.org
+Tested-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
+Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/hid/hid-multitouch.c |   26 ++++++++++++++++++++++++++
+ 1 file changed, 26 insertions(+)
+
+--- a/drivers/hid/hid-multitouch.c
++++ b/drivers/hid/hid-multitouch.c
+@@ -69,6 +69,7 @@ MODULE_LICENSE("GPL");
+ #define MT_QUIRK_ASUS_CUSTOM_UP               BIT(17)
+ #define MT_QUIRK_WIN8_PTP_BUTTONS     BIT(18)
+ #define MT_QUIRK_SEPARATE_APP_REPORT  BIT(19)
++#define MT_QUIRK_FORCE_MULTI_INPUT    BIT(20)
+ #define MT_INPUTMODE_TOUCHSCREEN      0x02
+ #define MT_INPUTMODE_TOUCHPAD         0x03
+@@ -189,6 +190,7 @@ static void mt_post_parse(struct mt_devi
+ #define MT_CLS_WIN_8                          0x0012
+ #define MT_CLS_EXPORT_ALL_INPUTS              0x0013
+ #define MT_CLS_WIN_8_DUAL                     0x0014
++#define MT_CLS_WIN_8_FORCE_MULTI_INPUT                0x0015
+ /* vendor specific classes */
+ #define MT_CLS_3M                             0x0101
+@@ -279,6 +281,15 @@ static const struct mt_class mt_classes[
+                       MT_QUIRK_CONTACT_CNT_ACCURATE |
+                       MT_QUIRK_WIN8_PTP_BUTTONS,
+               .export_all_inputs = true },
++      { .name = MT_CLS_WIN_8_FORCE_MULTI_INPUT,
++              .quirks = MT_QUIRK_ALWAYS_VALID |
++                      MT_QUIRK_IGNORE_DUPLICATES |
++                      MT_QUIRK_HOVERING |
++                      MT_QUIRK_CONTACT_CNT_ACCURATE |
++                      MT_QUIRK_STICKY_FINGERS |
++                      MT_QUIRK_WIN8_PTP_BUTTONS |
++                      MT_QUIRK_FORCE_MULTI_INPUT,
++              .export_all_inputs = true },
+       /*
+        * vendor specific classes
+@@ -1714,6 +1725,11 @@ static int mt_probe(struct hid_device *h
+       if (id->group != HID_GROUP_MULTITOUCH_WIN_8)
+               hdev->quirks |= HID_QUIRK_MULTI_INPUT;
++      if (mtclass->quirks & MT_QUIRK_FORCE_MULTI_INPUT) {
++              hdev->quirks &= ~HID_QUIRK_INPUT_PER_APP;
++              hdev->quirks |= HID_QUIRK_MULTI_INPUT;
++      }
++
+       timer_setup(&td->release_timer, mt_expired_timeout, 0);
+       ret = hid_parse(hdev);
+@@ -1926,6 +1942,11 @@ static const struct hid_device_id mt_dev
+               MT_USB_DEVICE(USB_VENDOR_ID_DWAV,
+                       USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_C002) },
++      /* Elan devices */
++      { .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT,
++              HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH_WIN_8,
++                      USB_VENDOR_ID_ELAN, 0x313a) },
++
+       /* Elitegroup panel */
+       { .driver_data = MT_CLS_SERIAL,
+               MT_USB_DEVICE(USB_VENDOR_ID_ELITEGROUP,
+@@ -2056,6 +2077,11 @@ static const struct hid_device_id mt_dev
+               MT_USB_DEVICE(USB_VENDOR_ID_STANTUM_STM,
+                       USB_DEVICE_ID_MTP_STM)},
++      /* Synaptics devices */
++      { .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT,
++              HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH_WIN_8,
++                      USB_VENDOR_ID_SYNAPTICS, 0xce08) },
++
+       /* TopSeed panels */
+       { .driver_data = MT_CLS_TOPSEED,
+               MT_USB_DEVICE(USB_VENDOR_ID_TOPSEED2,
diff --git a/queue-5.4/hid-sony-fix-for-broken-buttons-on-ds3-usb-dongles.patch b/queue-5.4/hid-sony-fix-for-broken-buttons-on-ds3-usb-dongles.patch
new file mode 100644 (file)
index 0000000..2bff7ff
--- /dev/null
@@ -0,0 +1,60 @@
+From e72455b898ac678667c5674668186b4670d87d11 Mon Sep 17 00:00:00 2001
+From: Scott Shumate <scott.shumate@gmail.com>
+Date: Wed, 13 May 2020 13:39:26 -0500
+Subject: HID: sony: Fix for broken buttons on DS3 USB dongles
+
+From: Scott Shumate <scott.shumate@gmail.com>
+
+commit e72455b898ac678667c5674668186b4670d87d11 upstream.
+
+Fix for non-working buttons on knock-off USB dongles for Sony
+controllers. These USB dongles are used to connect older Sony DA/DS1/DS2
+controllers via USB and are common on Amazon, AliExpress, etc.  Without
+the patch, the square, X, and circle buttons do not function.  These
+dongles used to work prior to kernel 4.10 but removing the global DS3
+report fixup in commit e19a267b9987 ("HID: sony: DS3 comply to Linux gamepad
+spec") exposed the problem.
+
+Many people reported the problem on the Ubuntu forums and are working
+around the problem by falling back to the 4.9 hid-sony driver.
+
+The problem stems from these dongles incorrectly reporting their button
+count as 13 instead of 16.  This patch fixes up the report descriptor by
+changing the button report count to 16 and removing 3 padding bits.
+
+Cc: stable@vger.kernel.org
+Fixes: e19a267b9987 ("HID: sony: DS3 comply to Linux gamepad spec")
+Signed-off-by: Scott Shumate <scott.shumate@gmail.com>
+Signed-off-by: Jiri Kosina <jkosina@suse.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/hid/hid-sony.c |   17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+--- a/drivers/hid/hid-sony.c
++++ b/drivers/hid/hid-sony.c
+@@ -867,6 +867,23 @@ static u8 *sony_report_fixup(struct hid_
+       if (sc->quirks & PS3REMOTE)
+               return ps3remote_fixup(hdev, rdesc, rsize);
++      /*
++       * Some knock-off USB dongles incorrectly report their button count
++       * as 13 instead of 16 causing three non-functional buttons.
++       */
++      if ((sc->quirks & SIXAXIS_CONTROLLER_USB) && *rsize >= 45 &&
++              /* Report Count (13) */
++              rdesc[23] == 0x95 && rdesc[24] == 0x0D &&
++              /* Usage Maximum (13) */
++              rdesc[37] == 0x29 && rdesc[38] == 0x0D &&
++              /* Report Count (3) */
++              rdesc[43] == 0x95 && rdesc[44] == 0x03) {
++              hid_info(hdev, "Fixing up USB dongle report descriptor\n");
++              rdesc[24] = 0x10;
++              rdesc[38] = 0x10;
++              rdesc[44] = 0x00;
++      }
++
+       return rdesc;
+ }
diff --git a/queue-5.4/kernel-relay.c-handle-alloc_percpu-returning-null-in-relay_open.patch b/queue-5.4/kernel-relay.c-handle-alloc_percpu-returning-null-in-relay_open.patch
new file mode 100644 (file)
index 0000000..371f43e
--- /dev/null
@@ -0,0 +1,71 @@
+From 54e200ab40fc14c863bcc80a51e20b7906608fce Mon Sep 17 00:00:00 2001
+From: Daniel Axtens <dja@axtens.net>
+Date: Thu, 4 Jun 2020 16:51:27 -0700
+Subject: kernel/relay.c: handle alloc_percpu returning NULL in relay_open
+
+From: Daniel Axtens <dja@axtens.net>
+
+commit 54e200ab40fc14c863bcc80a51e20b7906608fce upstream.
+
+alloc_percpu() may return NULL, which means chan->buf may be set to NULL.
+In that case, when we do *per_cpu_ptr(chan->buf, ...), we dereference an
+invalid pointer:
+
+  BUG: Unable to handle kernel data access at 0x7dae0000
+  Faulting instruction address: 0xc0000000003f3fec
+  ...
+  NIP relay_open+0x29c/0x600
+  LR relay_open+0x270/0x600
+  Call Trace:
+     relay_open+0x264/0x600 (unreliable)
+     __blk_trace_setup+0x254/0x600
+     blk_trace_setup+0x68/0xa0
+     sg_ioctl+0x7bc/0x2e80
+     do_vfs_ioctl+0x13c/0x1300
+     ksys_ioctl+0x94/0x130
+     sys_ioctl+0x48/0xb0
+     system_call+0x5c/0x68
+
+Check if alloc_percpu returns NULL.
+
+This was found by syzkaller both on x86 and powerpc, and the reproducer
+it found on powerpc is capable of hitting the issue as an unprivileged
+user.
+
+Fixes: 017c59c042d0 ("relay: Use per CPU constructs for the relay channel buffer pointers")
+Reported-by: syzbot+1e925b4b836afe85a1c6@syzkaller-ppc64.appspotmail.com
+Reported-by: syzbot+587b2421926808309d21@syzkaller-ppc64.appspotmail.com
+Reported-by: syzbot+58320b7171734bf79d26@syzkaller.appspotmail.com
+Reported-by: syzbot+d6074fb08bdb2e010520@syzkaller.appspotmail.com
+Signed-off-by: Daniel Axtens <dja@axtens.net>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Reviewed-by: Michael Ellerman <mpe@ellerman.id.au>
+Reviewed-by: Andrew Donnellan <ajd@linux.ibm.com>
+Acked-by: David Rientjes <rientjes@google.com>
+Cc: Akash Goel <akash.goel@intel.com>
+Cc: Andrew Donnellan <ajd@linux.ibm.com>
+Cc: Guenter Roeck <linux@roeck-us.net>
+Cc: Salvatore Bonaccorso <carnil@debian.org>
+Cc: <stable@vger.kernel.org>   [4.10+]
+Link: http://lkml.kernel.org/r/20191219121256.26480-1-dja@axtens.net
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ kernel/relay.c |    5 +++++
+ 1 file changed, 5 insertions(+)
+
+--- a/kernel/relay.c
++++ b/kernel/relay.c
+@@ -581,6 +581,11 @@ struct rchan *relay_open(const char *bas
+               return NULL;
+       chan->buf = alloc_percpu(struct rchan_buf *);
++      if (!chan->buf) {
++              kfree(chan);
++              return NULL;
++      }
++
+       chan->version = RELAYFS_CHANNEL_VERSION;
+       chan->n_subbufs = n_subbufs;
+       chan->subbuf_size = subbuf_size;
diff --git a/queue-5.4/media-revert-staging-imgu-address-a-compiler-warning-on-alignment.patch b/queue-5.4/media-revert-staging-imgu-address-a-compiler-warning-on-alignment.patch
new file mode 100644 (file)
index 0000000..7a3dee0
--- /dev/null
@@ -0,0 +1,38 @@
+From 81d1adeb52c97fbe097e8c94e36c3eb702cdb110 Mon Sep 17 00:00:00 2001
+From: Sakari Ailus <sakari.ailus@linux.intel.com>
+Date: Wed, 15 Apr 2020 17:34:05 +0200
+Subject: media: Revert "staging: imgu: Address a compiler warning on alignment"
+
+From: Sakari Ailus <sakari.ailus@linux.intel.com>
+
+commit 81d1adeb52c97fbe097e8c94e36c3eb702cdb110 upstream.
+
+This reverts commit c9d52c114a9fcc61c30512c7f810247a9f2812af.
+
+The patch being reverted changed the memory layout of struct
+ipu3_uapi_acc_param. Revert it, and address the compiler warning issues in
+further patches.
+
+Fixes: commit c9d52c114a9f ("media: staging: imgu: Address a compiler warning on alignment")
+Reported-by: Tomasz Figa <tfiga@chromium.org>
+Tested-by: Bingbu Cao <bingbu.cao@intel.com>
+Cc: stable@vger.kernel.org # for v5.3 and up
+Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
+Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/staging/media/ipu3/include/intel-ipu3.h |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/staging/media/ipu3/include/intel-ipu3.h
++++ b/drivers/staging/media/ipu3/include/intel-ipu3.h
+@@ -2472,7 +2472,7 @@ struct ipu3_uapi_acc_param {
+       struct ipu3_uapi_yuvp1_yds_config yds2 __attribute__((aligned(32)));
+       struct ipu3_uapi_yuvp2_tcc_static_config tcc __attribute__((aligned(32)));
+       struct ipu3_uapi_anr_config anr;
+-      struct ipu3_uapi_awb_fr_config_s awb_fr __attribute__((aligned(32)));
++      struct ipu3_uapi_awb_fr_config_s awb_fr;
+       struct ipu3_uapi_ae_config ae;
+       struct ipu3_uapi_af_config_s af;
+       struct ipu3_uapi_awb_config awb;
diff --git a/queue-5.4/media-staging-ipu3-imgu-move-alignment-attribute-to-field.patch b/queue-5.4/media-staging-ipu3-imgu-move-alignment-attribute-to-field.patch
new file mode 100644 (file)
index 0000000..7efdec2
--- /dev/null
@@ -0,0 +1,46 @@
+From 8c038effd893920facedf18c2c0976cec4a33408 Mon Sep 17 00:00:00 2001
+From: Sakari Ailus <sakari.ailus@linux.intel.com>
+Date: Wed, 15 Apr 2020 17:40:09 +0200
+Subject: media: staging: ipu3-imgu: Move alignment attribute to field
+
+From: Sakari Ailus <sakari.ailus@linux.intel.com>
+
+commit 8c038effd893920facedf18c2c0976cec4a33408 upstream.
+
+Move the alignment attribute of struct ipu3_uapi_awb_fr_config_s to the
+field in struct ipu3_uapi_4a_config, the other location where the struct
+is used.
+
+Fixes: commit c9d52c114a9f ("media: staging: imgu: Address a compiler warning on alignment")
+Reported-by: Tomasz Figa <tfiga@chromium.org>
+Tested-by: Bingbu Cao <bingbu.cao@intel.com>
+Cc: stable@vger.kernel.org # for v5.3 and up
+Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
+Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/staging/media/ipu3/include/intel-ipu3.h |    5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+--- a/drivers/staging/media/ipu3/include/intel-ipu3.h
++++ b/drivers/staging/media/ipu3/include/intel-ipu3.h
+@@ -450,7 +450,7 @@ struct ipu3_uapi_awb_fr_config_s {
+       __u32 bayer_sign;
+       __u8 bayer_nf;
+       __u8 reserved2[7];
+-} __attribute__((aligned(32))) __packed;
++} __packed;
+ /**
+  * struct ipu3_uapi_4a_config - 4A config
+@@ -466,7 +466,8 @@ struct ipu3_uapi_4a_config {
+       struct ipu3_uapi_ae_grid_config ae_grd_config;
+       __u8 padding[20];
+       struct ipu3_uapi_af_config_s af_config;
+-      struct ipu3_uapi_awb_fr_config_s awb_fr_config;
++      struct ipu3_uapi_awb_fr_config_s awb_fr_config
++              __attribute__((aligned(32)));
+ } __packed;
+ /**
diff --git a/queue-5.4/mm-fix-mremap-not-considering-huge-pmd-devmap.patch b/queue-5.4/mm-fix-mremap-not-considering-huge-pmd-devmap.patch
new file mode 100644 (file)
index 0000000..a57aacd
--- /dev/null
@@ -0,0 +1,56 @@
+From 5bfea2d9b17f1034a68147a8b03b9789af5700f9 Mon Sep 17 00:00:00 2001
+From: Fan Yang <Fan_Yang@sjtu.edu.cn>
+Date: Thu, 4 Jun 2020 18:22:07 +0800
+Subject: mm: Fix mremap not considering huge pmd devmap
+
+From: Fan Yang <Fan_Yang@sjtu.edu.cn>
+
+commit 5bfea2d9b17f1034a68147a8b03b9789af5700f9 upstream.
+
+The original code in mm/mremap.c checks huge pmd by:
+
+               if (is_swap_pmd(*old_pmd) || pmd_trans_huge(*old_pmd)) {
+
+However, a DAX mapped nvdimm is mapped as huge page (by default) but it
+is not transparent huge page (_PAGE_PSE | PAGE_DEVMAP).  This commit
+changes the condition to include the case.
+
+This addresses CVE-2020-10757.
+
+Fixes: 5c7fb56e5e3f ("mm, dax: dax-pmd vs thp-pmd vs hugetlbfs-pmd")
+Cc: <stable@vger.kernel.org>
+Reported-by: Fan Yang <Fan_Yang@sjtu.edu.cn>
+Signed-off-by: Fan Yang <Fan_Yang@sjtu.edu.cn>
+Tested-by: Fan Yang <Fan_Yang@sjtu.edu.cn>
+Tested-by: Dan Williams <dan.j.williams@intel.com>
+Reviewed-by: Dan Williams <dan.j.williams@intel.com>
+Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/x86/include/asm/pgtable.h |    1 +
+ mm/mremap.c                    |    2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+--- a/arch/x86/include/asm/pgtable.h
++++ b/arch/x86/include/asm/pgtable.h
+@@ -253,6 +253,7 @@ static inline int pmd_large(pmd_t pte)
+ }
+ #ifdef CONFIG_TRANSPARENT_HUGEPAGE
++/* NOTE: when predicate huge page, consider also pmd_devmap, or use pmd_large */
+ static inline int pmd_trans_huge(pmd_t pmd)
+ {
+       return (pmd_val(pmd) & (_PAGE_PSE|_PAGE_DEVMAP)) == _PAGE_PSE;
+--- a/mm/mremap.c
++++ b/mm/mremap.c
+@@ -266,7 +266,7 @@ unsigned long move_page_tables(struct vm
+               new_pmd = alloc_new_pmd(vma->vm_mm, vma, new_addr);
+               if (!new_pmd)
+                       break;
+-              if (is_swap_pmd(*old_pmd) || pmd_trans_huge(*old_pmd)) {
++              if (is_swap_pmd(*old_pmd) || pmd_trans_huge(*old_pmd) || pmd_devmap(*old_pmd)) {
+                       if (extent == HPAGE_PMD_SIZE) {
+                               bool moved;
+                               /* See comment in move_ptes() */
diff --git a/queue-5.4/mmc-fix-compilation-of-user-api.patch b/queue-5.4/mmc-fix-compilation-of-user-api.patch
new file mode 100644 (file)
index 0000000..b86191f
--- /dev/null
@@ -0,0 +1,41 @@
+From 83fc5dd57f86c3ec7d6d22565a6ff6c948853b64 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Pouiller?= <jerome.pouiller@silabs.com>
+Date: Mon, 11 May 2020 18:19:02 +0200
+Subject: mmc: fix compilation of user API
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Jérôme Pouiller <jerome.pouiller@silabs.com>
+
+commit 83fc5dd57f86c3ec7d6d22565a6ff6c948853b64 upstream.
+
+The definitions of MMC_IOC_CMD  and of MMC_IOC_MULTI_CMD rely on
+MMC_BLOCK_MAJOR:
+
+    #define MMC_IOC_CMD       _IOWR(MMC_BLOCK_MAJOR, 0, struct mmc_ioc_cmd)
+    #define MMC_IOC_MULTI_CMD _IOWR(MMC_BLOCK_MAJOR, 1, struct mmc_ioc_multi_cmd)
+
+However, MMC_BLOCK_MAJOR is defined in linux/major.h and
+linux/mmc/ioctl.h did not include it.
+
+Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
+Cc: stable@vger.kernel.org
+Link: https://lore.kernel.org/r/20200511161902.191405-1-Jerome.Pouiller@silabs.com
+Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ include/uapi/linux/mmc/ioctl.h |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/include/uapi/linux/mmc/ioctl.h
++++ b/include/uapi/linux/mmc/ioctl.h
+@@ -3,6 +3,7 @@
+ #define LINUX_MMC_IOCTL_H
+ #include <linux/types.h>
++#include <linux/major.h>
+ struct mmc_ioc_cmd {
+       /*
diff --git a/queue-5.4/mt76-mt76x02u-add-support-for-newer-versions-of-the-xbox-one-wifi-adapter.patch b/queue-5.4/mt76-mt76x02u-add-support-for-newer-versions-of-the-xbox-one-wifi-adapter.patch
new file mode 100644 (file)
index 0000000..1e0feee
--- /dev/null
@@ -0,0 +1,41 @@
+From b2934279c3e9719145ff4090d4ab951e340df17e Mon Sep 17 00:00:00 2001
+From: Matthew Garrett <matthewgarrett@google.com>
+Date: Wed, 18 Mar 2020 16:07:48 -0700
+Subject: mt76: mt76x02u: Add support for newer versions of the XBox One wifi adapter
+
+From: Matthew Garrett <matthewgarrett@google.com>
+
+commit b2934279c3e9719145ff4090d4ab951e340df17e upstream.
+
+The current version has a new USB ID and reports as an 0x7632 device.
+Adding the IDs results in it working out of the box.
+
+Signed-off-by: Matthew Garrett <mjg59@google.com>
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/wireless/mediatek/mt76/mt76x02.h    |    1 +
+ drivers/net/wireless/mediatek/mt76/mt76x2/usb.c |    1 +
+ 2 files changed, 2 insertions(+)
+
+--- a/drivers/net/wireless/mediatek/mt76/mt76x02.h
++++ b/drivers/net/wireless/mediatek/mt76/mt76x02.h
+@@ -212,6 +212,7 @@ static inline bool is_mt76x0(struct mt76
+ static inline bool is_mt76x2(struct mt76x02_dev *dev)
+ {
+       return mt76_chip(&dev->mt76) == 0x7612 ||
++             mt76_chip(&dev->mt76) == 0x7632 ||
+              mt76_chip(&dev->mt76) == 0x7662 ||
+              mt76_chip(&dev->mt76) == 0x7602;
+ }
+--- a/drivers/net/wireless/mediatek/mt76/mt76x2/usb.c
++++ b/drivers/net/wireless/mediatek/mt76/mt76x2/usb.c
+@@ -18,6 +18,7 @@ static const struct usb_device_id mt76x2
+       { USB_DEVICE(0x7392, 0xb711) }, /* Edimax EW 7722 UAC */
+       { USB_DEVICE(0x0846, 0x9053) }, /* Netgear A6210 */
+       { USB_DEVICE(0x045e, 0x02e6) }, /* XBox One Wireless Adapter */
++      { USB_DEVICE(0x045e, 0x02fe) }, /* XBox One Wireless Adapter */
+       { },
+ };
diff --git a/queue-5.4/p54usb-add-airvast-usb-stick-device-id.patch b/queue-5.4/p54usb-add-airvast-usb-stick-device-id.patch
new file mode 100644 (file)
index 0000000..d5ee011
--- /dev/null
@@ -0,0 +1,35 @@
+From 63e49a9fdac1b4e97ac26cb3fe953f210d83bc53 Mon Sep 17 00:00:00 2001
+From: Giuseppe Marco Randazzo <gmrandazzo@gmail.com>
+Date: Mon, 6 Apr 2020 00:06:59 +0200
+Subject: p54usb: add AirVasT USB stick device-id
+
+From: Giuseppe Marco Randazzo <gmrandazzo@gmail.com>
+
+commit 63e49a9fdac1b4e97ac26cb3fe953f210d83bc53 upstream.
+
+This patch adds the AirVasT USB wireless devices 124a:4026
+to the list of supported devices. It's using the ISL3886
+usb firmware. Without this modification, the wiki adapter
+is not recognized.
+
+Cc: <stable@vger.kernel.org>
+Signed-off-by: Giuseppe Marco Randazzo <gmrandazzo@gmail.com>
+Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [formatted, reworded]
+Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
+Link: https://lore.kernel.org/r/20200405220659.45621-1-chunkeey@gmail.com
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/wireless/intersil/p54/p54usb.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/net/wireless/intersil/p54/p54usb.c
++++ b/drivers/net/wireless/intersil/p54/p54usb.c
+@@ -61,6 +61,7 @@ static const struct usb_device_id p54u_t
+       {USB_DEVICE(0x0db0, 0x6826)},   /* MSI UB54G (MS-6826) */
+       {USB_DEVICE(0x107b, 0x55f2)},   /* Gateway WGU-210 (Gemtek) */
+       {USB_DEVICE(0x124a, 0x4023)},   /* Shuttle PN15, Airvast WM168g, IOGear GWU513 */
++      {USB_DEVICE(0x124a, 0x4026)},   /* AirVasT USB wireless device */
+       {USB_DEVICE(0x1435, 0x0210)},   /* Inventel UR054G */
+       {USB_DEVICE(0x15a9, 0x0002)},   /* Gemtek WUBI-100GW 802.11g */
+       {USB_DEVICE(0x1630, 0x0005)},   /* 2Wire 802.11g USB (v1) / Z-Com */
index 8857e37c672788a69cab195453f34d387fa302ae..b3529509c69d1b0f8485a7e86bbfb82f14283d95 100644 (file)
@@ -32,14 +32,12 @@ Link: http://lkml.kernel.org/r/20200409154413.GK3818@techsingularity.net
 Cc: v4.18+
 Signed-off-by: Sasha Levin <sashal@kernel.org>
 ---
- kernel/cgroup/rstat.c | 16 +++-------------
+ kernel/cgroup/rstat.c |   16 +++-------------
  1 file changed, 3 insertions(+), 13 deletions(-)
 
-diff --git a/kernel/cgroup/rstat.c b/kernel/cgroup/rstat.c
-index ca19b4c8acf5..4a942d4e9763 100644
 --- a/kernel/cgroup/rstat.c
 +++ b/kernel/cgroup/rstat.c
-@@ -33,12 +33,9 @@ void cgroup_rstat_updated(struct cgroup *cgrp, int cpu)
+@@ -33,12 +33,9 @@ void cgroup_rstat_updated(struct cgroup
                return;
  
        /*
@@ -55,7 +53,7 @@ index ca19b4c8acf5..4a942d4e9763 100644
         * Because @parent's updated_children is terminated with @parent
         * instead of NULL, we can tell whether @cgrp is on the list by
         * testing the next pointer for NULL.
-@@ -134,13 +131,6 @@ static struct cgroup *cgroup_rstat_cpu_pop_updated(struct cgroup *pos,
+@@ -134,13 +131,6 @@ static struct cgroup *cgroup_rstat_cpu_p
                *nextp = rstatc->updated_next;
                rstatc->updated_next = NULL;
  
@@ -69,6 +67,3 @@ index ca19b4c8acf5..4a942d4e9763 100644
                return pos;
        }
  
--- 
-2.25.1
-
index 44f5a5561d0e36e18239ce4eed798b985f773104..1dde5ee12ddae935f3bb2839b4004e4714d356dd 100644 (file)
@@ -1,4 +1,14 @@
 revert-cgroup-add-memory-barriers-to-plug-cgroup_rst.patch
+mm-fix-mremap-not-considering-huge-pmd-devmap.patch
+hid-sony-fix-for-broken-buttons-on-ds3-usb-dongles.patch
+hid-multitouch-enable-multi-input-as-a-quirk-for-some-devices.patch
+hid-i2c-hid-add-schneider-scl142alm-to-descriptor-override.patch
+p54usb-add-airvast-usb-stick-device-id.patch
+mt76-mt76x02u-add-support-for-newer-versions-of-the-xbox-one-wifi-adapter.patch
+kernel-relay.c-handle-alloc_percpu-returning-null-in-relay_open.patch
+mmc-fix-compilation-of-user-api.patch
+media-revert-staging-imgu-address-a-compiler-warning-on-alignment.patch
+media-staging-ipu3-imgu-move-alignment-attribute-to-field.patch
 drm-i915-fix-port-checks-for-mst-support-on-gen-11.patch
 scsi-hisi_sas-check-sas_port-before-using-it.patch
 powerpc-powernv-avoid-re-registration-of-imc-debugfs.patch