From: Greg Kroah-Hartman Date: Sun, 6 Dec 2020 10:21:07 +0000 (+0100) Subject: 5.9-stable patches X-Git-Tag: v4.14.211~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ffba51358718c7a515622ce547f952b141e4a1f9;p=thirdparty%2Fkernel%2Fstable-queue.git 5.9-stable patches added patches: alsa-usb-audio-us16x08-fix-value-count-for-level-meters.patch drm-i915-gt-fixup-tgl-mocs-for-pte-tracking.patch input-atmel_mxt_ts-fix-lost-interrupts.patch input-i8042-add-bytespeed-touchpad-to-noloop-table.patch input-xpad-support-ardwiino-controllers.patch tracing-fix-alignment-of-static-buffer.patch tracing-remove-warn_on-in-start_thread.patch uapi-fix-statx-attribute-value-overlap-for-dax-mount_root.patch --- diff --git a/queue-5.9/alsa-usb-audio-us16x08-fix-value-count-for-level-meters.patch b/queue-5.9/alsa-usb-audio-us16x08-fix-value-count-for-level-meters.patch new file mode 100644 index 00000000000..d6afad3cdcf --- /dev/null +++ b/queue-5.9/alsa-usb-audio-us16x08-fix-value-count-for-level-meters.patch @@ -0,0 +1,35 @@ +From 402d5840b0d40a2a26c8651165d29b534abb6d36 Mon Sep 17 00:00:00 2001 +From: Hector Martin +Date: Fri, 27 Nov 2020 22:26:35 +0900 +Subject: ALSA: usb-audio: US16x08: fix value count for level meters + +From: Hector Martin + +commit 402d5840b0d40a2a26c8651165d29b534abb6d36 upstream. + +The level meter control returns 34 integers of info. This fixes: + +snd-usb-audio 3-1:1.0: control 2:0:0:Level Meter:0: access overflow + +Fixes: d2bb390a2081 ("ALSA: usb-audio: Tascam US-16x08 DSP mixer quirk") +Cc: stable@vger.kernel.org +Signed-off-by: Hector Martin +Link: https://lore.kernel.org/r/20201127132635.18947-1-marcan@marcan.st +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + +--- + sound/usb/mixer_us16x08.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/sound/usb/mixer_us16x08.c ++++ b/sound/usb/mixer_us16x08.c +@@ -607,7 +607,7 @@ static int snd_us16x08_eq_put(struct snd + static int snd_us16x08_meter_info(struct snd_kcontrol *kcontrol, + struct snd_ctl_elem_info *uinfo) + { +- uinfo->count = 1; ++ uinfo->count = 34; + uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER; + uinfo->value.integer.max = 0x7FFF; + uinfo->value.integer.min = 0; diff --git a/queue-5.9/drm-i915-gt-fixup-tgl-mocs-for-pte-tracking.patch b/queue-5.9/drm-i915-gt-fixup-tgl-mocs-for-pte-tracking.patch new file mode 100644 index 00000000000..63b329bf49a --- /dev/null +++ b/queue-5.9/drm-i915-gt-fixup-tgl-mocs-for-pte-tracking.patch @@ -0,0 +1,51 @@ +From be33805c65297611971003d72e7f9235e23ec84d Mon Sep 17 00:00:00 2001 +From: Chris Wilson +Date: Thu, 15 Oct 2020 13:21:38 +0100 +Subject: drm/i915/gt: Fixup tgl mocs for PTE tracking +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Chris Wilson + +commit be33805c65297611971003d72e7f9235e23ec84d upstream. + +Forcing mocs:1 [used for our winsys follows-pte mode] to be cached +caused display glitches. Though it is documented as deprecated (and so +likely behaves as uncached) use the follow-pte bit and force it out of +L3 cache. + +Testcase: igt/kms_frontbuffer_tracking +Testcase: igt/kms_big_fb +Signed-off-by: Chris Wilson +Cc: Ayaz A Siddiqui +Cc: Lucas De Marchi +Cc: Matt Roper +Cc: Ville Syrjälä +Cc: Joonas Lahtinen +Reviewed-by: Ville Syrjälä +Link: https://patchwork.freedesktop.org/patch/msgid/20201015122138.30161-4-chris@chris-wilson.co.uk +(cherry picked from commit a04ac827366594c7244f60e9be79fcb404af69f0) +Fixes: 849c0fe9e831 ("drm/i915/gt: Initialize reserved and unspecified MOCS indices") +Signed-off-by: Rodrigo Vivi +[Rodrigo: Updated Fixes tag] +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/gpu/drm/i915/gt/intel_mocs.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +--- a/drivers/gpu/drm/i915/gt/intel_mocs.c ++++ b/drivers/gpu/drm/i915/gt/intel_mocs.c +@@ -243,8 +243,9 @@ static const struct drm_i915_mocs_entry + * only, __init_mocs_table() take care to program unused index with + * this entry. + */ +- MOCS_ENTRY(1, LE_3_WB | LE_TC_1_LLC | LE_LRUM(3), +- L3_3_WB), ++ MOCS_ENTRY(I915_MOCS_PTE, ++ LE_0_PAGETABLE | LE_TC_0_PAGETABLE, ++ L3_1_UC), + GEN11_MOCS_ENTRIES, + + /* Implicitly enable L1 - HDC:L1 + L3 + LLC */ diff --git a/queue-5.9/input-atmel_mxt_ts-fix-lost-interrupts.patch b/queue-5.9/input-atmel_mxt_ts-fix-lost-interrupts.patch new file mode 100644 index 00000000000..5a3f1756de9 --- /dev/null +++ b/queue-5.9/input-atmel_mxt_ts-fix-lost-interrupts.patch @@ -0,0 +1,53 @@ +From 8c3b55a299c325830a987de21dab6a89ecb71164 Mon Sep 17 00:00:00 2001 +From: Linus Walleij +Date: Tue, 1 Dec 2020 09:55:29 -0800 +Subject: Input: atmel_mxt_ts - fix lost interrupts +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Linus Walleij + +commit 8c3b55a299c325830a987de21dab6a89ecb71164 upstream. + +After commit 74d905d2d38a devices requiring the workaround for edge +triggered interrupts stopped working. + +The hardware needs the quirk to be used before even proceeding to +check if the quirk is needed because mxt_acquire_irq() is called +before mxt_check_retrigen() is called and at this point pending IRQs +need to be checked, and if the workaround is not active, all +interrupts will be lost from this point. + +Solve this by switching the calls around. + +Reported-by: Andre Müller +Tested-by: Andre Müller +Suggested-by: Dmitry Torokhov +Fixes: 74d905d2d38a ("Input: atmel_mxt_ts - only read messages in mxt_acquire_irq() when necessary") +Signed-off-by: Linus Walleij +Cc: stable@vger.kernel.org +Link: https://lore.kernel.org/r/20201201123026.1416743-1-linus.walleij@linaro.org +Signed-off-by: Dmitry Torokhov +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/input/touchscreen/atmel_mxt_ts.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/drivers/input/touchscreen/atmel_mxt_ts.c ++++ b/drivers/input/touchscreen/atmel_mxt_ts.c +@@ -2183,11 +2183,11 @@ static int mxt_initialize(struct mxt_dat + msleep(MXT_FW_RESET_TIME); + } + +- error = mxt_acquire_irq(data); ++ error = mxt_check_retrigen(data); + if (error) + return error; + +- error = mxt_check_retrigen(data); ++ error = mxt_acquire_irq(data); + if (error) + return error; + diff --git a/queue-5.9/input-i8042-add-bytespeed-touchpad-to-noloop-table.patch b/queue-5.9/input-i8042-add-bytespeed-touchpad-to-noloop-table.patch new file mode 100644 index 00000000000..d4e9b16452c --- /dev/null +++ b/queue-5.9/input-i8042-add-bytespeed-touchpad-to-noloop-table.patch @@ -0,0 +1,38 @@ +From a48491c65b513e5cdc3e7a886a4db915f848a5f5 Mon Sep 17 00:00:00 2001 +From: Po-Hsu Lin +Date: Mon, 30 Nov 2020 22:39:40 -0800 +Subject: Input: i8042 - add ByteSpeed touchpad to noloop table + +From: Po-Hsu Lin + +commit a48491c65b513e5cdc3e7a886a4db915f848a5f5 upstream. + +It looks like the C15B laptop got another vendor: ByteSpeed LLC. + +Avoid AUX loopback on this touchpad as well, thus input subsystem will +be able to recognize a Synaptics touchpad in the AUX port. + +BugLink: https://bugs.launchpad.net/bugs/1906128 +Signed-off-by: Po-Hsu Lin +Link: https://lore.kernel.org/r/20201201054723.5939-1-po-hsu.lin@canonical.com +Cc: stable@vger.kernel.org +Signed-off-by: Dmitry Torokhov +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/input/serio/i8042-x86ia64io.h | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/drivers/input/serio/i8042-x86ia64io.h ++++ b/drivers/input/serio/i8042-x86ia64io.h +@@ -219,6 +219,10 @@ static const struct dmi_system_id __init + DMI_MATCH(DMI_SYS_VENDOR, "PEGATRON CORPORATION"), + DMI_MATCH(DMI_PRODUCT_NAME, "C15B"), + }, ++ .matches = { ++ DMI_MATCH(DMI_SYS_VENDOR, "ByteSpeed LLC"), ++ DMI_MATCH(DMI_PRODUCT_NAME, "ByteSpeed Laptop C15B"), ++ }, + }, + { } + }; diff --git a/queue-5.9/input-xpad-support-ardwiino-controllers.patch b/queue-5.9/input-xpad-support-ardwiino-controllers.patch new file mode 100644 index 00000000000..26f118d3a1b --- /dev/null +++ b/queue-5.9/input-xpad-support-ardwiino-controllers.patch @@ -0,0 +1,39 @@ +From 2aab1561439032be2e98811dd0ddbeb5b2ae4c61 Mon Sep 17 00:00:00 2001 +From: Sanjay Govind +Date: Mon, 30 Nov 2020 23:41:48 -0800 +Subject: Input: xpad - support Ardwiino Controllers + +From: Sanjay Govind + +commit 2aab1561439032be2e98811dd0ddbeb5b2ae4c61 upstream. + +This commit adds support for Ardwiino Controllers + +Signed-off-by: Sanjay Govind +Link: https://lore.kernel.org/r/20201201071922.131666-1-sanjay.govind9@gmail.com +Cc: stable@vger.kernel.org +Signed-off-by: Dmitry Torokhov +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/input/joystick/xpad.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/drivers/input/joystick/xpad.c ++++ b/drivers/input/joystick/xpad.c +@@ -241,6 +241,7 @@ static const struct xpad_device { + { 0x1038, 0x1430, "SteelSeries Stratus Duo", 0, XTYPE_XBOX360 }, + { 0x1038, 0x1431, "SteelSeries Stratus Duo", 0, XTYPE_XBOX360 }, + { 0x11c9, 0x55f0, "Nacon GC-100XF", 0, XTYPE_XBOX360 }, ++ { 0x1209, 0x2882, "Ardwiino Controller", 0, XTYPE_XBOX360 }, + { 0x12ab, 0x0004, "Honey Bee Xbox360 dancepad", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX360 }, + { 0x12ab, 0x0301, "PDP AFTERGLOW AX.1", 0, XTYPE_XBOX360 }, + { 0x12ab, 0x0303, "Mortal Kombat Klassic FightStick", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 }, +@@ -418,6 +419,7 @@ static const struct usb_device_id xpad_t + XPAD_XBOXONE_VENDOR(0x0f0d), /* Hori Controllers */ + XPAD_XBOX360_VENDOR(0x1038), /* SteelSeries Controllers */ + XPAD_XBOX360_VENDOR(0x11c9), /* Nacon GC100XF */ ++ XPAD_XBOX360_VENDOR(0x1209), /* Ardwiino Controllers */ + XPAD_XBOX360_VENDOR(0x12ab), /* X-Box 360 dance pads */ + XPAD_XBOX360_VENDOR(0x1430), /* RedOctane X-Box 360 controllers */ + XPAD_XBOX360_VENDOR(0x146b), /* BigBen Interactive Controllers */ diff --git a/queue-5.9/series b/queue-5.9/series index 9850f9e01cd..6eedf218f22 100644 --- a/queue-5.9/series +++ b/queue-5.9/series @@ -36,3 +36,11 @@ net-sched-act_mpls-ensure-lse-is-pullable-before-reading-it.patch net-mlx5-dr-proper-handling-of-unsupported-connect-x6dx-sw-steering.patch net-mlx5-fix-wrong-address-reclaim-when-command-interface-is-down.patch net-mlx5e-fix-fs_tcp.c-build-when-ipv6-is-not-enabled.patch +alsa-usb-audio-us16x08-fix-value-count-for-level-meters.patch +input-xpad-support-ardwiino-controllers.patch +input-i8042-add-bytespeed-touchpad-to-noloop-table.patch +input-atmel_mxt_ts-fix-lost-interrupts.patch +tracing-fix-alignment-of-static-buffer.patch +tracing-remove-warn_on-in-start_thread.patch +uapi-fix-statx-attribute-value-overlap-for-dax-mount_root.patch +drm-i915-gt-fixup-tgl-mocs-for-pte-tracking.patch diff --git a/queue-5.9/tracing-fix-alignment-of-static-buffer.patch b/queue-5.9/tracing-fix-alignment-of-static-buffer.patch new file mode 100644 index 00000000000..4660d984de3 --- /dev/null +++ b/queue-5.9/tracing-fix-alignment-of-static-buffer.patch @@ -0,0 +1,46 @@ +From 8fa655a3a0013a0c2a2aada6f39a93ee6fc25549 Mon Sep 17 00:00:00 2001 +From: Minchan Kim +Date: Wed, 25 Nov 2020 14:56:54 -0800 +Subject: tracing: Fix alignment of static buffer + +From: Minchan Kim + +commit 8fa655a3a0013a0c2a2aada6f39a93ee6fc25549 upstream. + +With 5.9 kernel on ARM64, I found ftrace_dump output was broken but +it had no problem with normal output "cat /sys/kernel/debug/tracing/trace". + +With investigation, it seems coping the data into temporal buffer seems to +break the align binary printf expects if the static buffer is not aligned +with 4-byte. IIUC, get_arg in bstr_printf expects that args has already +right align to be decoded and seq_buf_bprintf says ``the arguments are saved +in a 32bit word array that is defined by the format string constraints``. +So if we don't keep the align under copy to temporal buffer, the output +will be broken by shifting some bytes. + +This patch fixes it. + +Link: https://lkml.kernel.org/r/20201125225654.1618966-1-minchan@kernel.org + +Cc: +Fixes: 8e99cf91b99bb ("tracing: Do not allocate buffer in trace_find_next_entry() in atomic") +Signed-off-by: Namhyung Kim +Signed-off-by: Minchan Kim +Signed-off-by: Steven Rostedt (VMware) +Signed-off-by: Greg Kroah-Hartman + +--- + kernel/trace/trace.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/kernel/trace/trace.c ++++ b/kernel/trace/trace.c +@@ -3516,7 +3516,7 @@ __find_next_entry(struct trace_iterator + } + + #define STATIC_TEMP_BUF_SIZE 128 +-static char static_temp_buf[STATIC_TEMP_BUF_SIZE]; ++static char static_temp_buf[STATIC_TEMP_BUF_SIZE] __aligned(4); + + /* Find the next real entry, without updating the iterator itself */ + struct trace_entry *trace_find_next_entry(struct trace_iterator *iter, diff --git a/queue-5.9/tracing-remove-warn_on-in-start_thread.patch b/queue-5.9/tracing-remove-warn_on-in-start_thread.patch new file mode 100644 index 00000000000..ec1b88c988d --- /dev/null +++ b/queue-5.9/tracing-remove-warn_on-in-start_thread.patch @@ -0,0 +1,56 @@ +From 310e3a4b5a4fc718a72201c1e4cf5c64ac6f5442 Mon Sep 17 00:00:00 2001 +From: Vasily Averin +Date: Wed, 18 Nov 2020 15:05:20 +0300 +Subject: tracing: Remove WARN_ON in start_thread() + +From: Vasily Averin + +commit 310e3a4b5a4fc718a72201c1e4cf5c64ac6f5442 upstream. + +This patch reverts commit 978defee11a5 ("tracing: Do a WARN_ON() + if start_thread() in hwlat is called when thread exists") + +.start hook can be legally called several times if according +tracer is stopped + +screen window 1 +[root@localhost ~]# echo 1 > /sys/kernel/tracing/events/kmem/kfree/enable +[root@localhost ~]# echo 1 > /sys/kernel/tracing/options/pause-on-trace +[root@localhost ~]# less -F /sys/kernel/tracing/trace + +screen window 2 +[root@localhost ~]# cat /sys/kernel/debug/tracing/tracing_on +0 +[root@localhost ~]# echo hwlat > /sys/kernel/debug/tracing/current_tracer +[root@localhost ~]# echo 1 > /sys/kernel/debug/tracing/tracing_on +[root@localhost ~]# cat /sys/kernel/debug/tracing/tracing_on +0 +[root@localhost ~]# echo 2 > /sys/kernel/debug/tracing/tracing_on + +triggers warning in dmesg: +WARNING: CPU: 3 PID: 1403 at kernel/trace/trace_hwlat.c:371 hwlat_tracer_start+0xc9/0xd0 + +Link: https://lkml.kernel.org/r/bd4d3e70-400d-9c82-7b73-a2d695e86b58@virtuozzo.com + +Cc: Ingo Molnar +Cc: stable@vger.kernel.org +Fixes: 978defee11a5 ("tracing: Do a WARN_ON() if start_thread() in hwlat is called when thread exists") +Signed-off-by: Vasily Averin +Signed-off-by: Steven Rostedt (VMware) +Signed-off-by: Greg Kroah-Hartman + +--- + kernel/trace/trace_hwlat.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/kernel/trace/trace_hwlat.c ++++ b/kernel/trace/trace_hwlat.c +@@ -368,7 +368,7 @@ static int start_kthread(struct trace_ar + struct task_struct *kthread; + int next_cpu; + +- if (WARN_ON(hwlat_kthread)) ++ if (hwlat_kthread) + return 0; + + /* Just pick the first CPU on first iteration */ diff --git a/queue-5.9/uapi-fix-statx-attribute-value-overlap-for-dax-mount_root.patch b/queue-5.9/uapi-fix-statx-attribute-value-overlap-for-dax-mount_root.patch new file mode 100644 index 00000000000..43a92cc9fb8 --- /dev/null +++ b/queue-5.9/uapi-fix-statx-attribute-value-overlap-for-dax-mount_root.patch @@ -0,0 +1,59 @@ +From 72d1249e2ffdbc344e465031ec5335fa3489d62e Mon Sep 17 00:00:00 2001 +From: Eric Sandeen +Date: Tue, 1 Dec 2020 17:21:40 -0600 +Subject: uapi: fix statx attribute value overlap for DAX & MOUNT_ROOT + +From: Eric Sandeen + +commit 72d1249e2ffdbc344e465031ec5335fa3489d62e upstream. + +STATX_ATTR_MOUNT_ROOT and STATX_ATTR_DAX got merged with the same value, +so one of them needs fixing. Move STATX_ATTR_DAX. + +While we're in here, clarify the value-matching scheme for some of the +attributes, and explain why the value for DAX does not match. + +Fixes: 80340fe3605c ("statx: add mount_root") +Fixes: 712b2698e4c0 ("fs/stat: Define DAX statx attribute") +Link: https://lore.kernel.org/linux-fsdevel/7027520f-7c79-087e-1d00-743bdefa1a1e@redhat.com/ +Link: https://lore.kernel.org/lkml/20201202214629.1563760-1-ira.weiny@intel.com/ +Reported-by: David Howells +Signed-off-by: Eric Sandeen +Reviewed-by: David Howells +Reviewed-by: Darrick J. Wong +Reviewed-by: Christoph Hellwig +Reviewed-by: Ira Weiny +Cc: # 5.8 +Signed-off-by: Linus Torvalds +Signed-off-by: Greg Kroah-Hartman + +--- + include/uapi/linux/stat.h | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +--- a/include/uapi/linux/stat.h ++++ b/include/uapi/linux/stat.h +@@ -171,9 +171,12 @@ struct statx { + * be of use to ordinary userspace programs such as GUIs or ls rather than + * specialised tools. + * +- * Note that the flags marked [I] correspond to generic FS_IOC_FLAGS ++ * Note that the flags marked [I] correspond to the FS_IOC_SETFLAGS flags + * semantically. Where possible, the numerical value is picked to correspond +- * also. ++ * also. Note that the DAX attribute indicates that the file is in the CPU ++ * direct access state. It does not correspond to the per-inode flag that ++ * some filesystems support. ++ * + */ + #define STATX_ATTR_COMPRESSED 0x00000004 /* [I] File is compressed by the fs */ + #define STATX_ATTR_IMMUTABLE 0x00000010 /* [I] File is marked immutable */ +@@ -183,7 +186,7 @@ struct statx { + #define STATX_ATTR_AUTOMOUNT 0x00001000 /* Dir: Automount trigger */ + #define STATX_ATTR_MOUNT_ROOT 0x00002000 /* Root of a mount */ + #define STATX_ATTR_VERITY 0x00100000 /* [I] Verity protected file */ +-#define STATX_ATTR_DAX 0x00002000 /* [I] File is DAX */ ++#define STATX_ATTR_DAX 0x00200000 /* File is currently in DAX state */ + + + #endif /* _UAPI_LINUX_STAT_H */