From: Sasha Levin Date: Wed, 20 Oct 2021 21:21:31 +0000 (-0400) Subject: Fixes for 5.10 X-Git-Tag: v4.4.290~77 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3c9f893e1b05ce6a51af07ccaf8db67ac9aa2a89;p=thirdparty%2Fkernel%2Fstable-queue.git Fixes for 5.10 Signed-off-by: Sasha Levin --- diff --git a/queue-5.10/arm-config-mutli-v7-reenable-fb-dependency.patch b/queue-5.10/arm-config-mutli-v7-reenable-fb-dependency.patch new file mode 100644 index 00000000000..19c81d2cae8 --- /dev/null +++ b/queue-5.10/arm-config-mutli-v7-reenable-fb-dependency.patch @@ -0,0 +1,44 @@ +From eeae00b11f89acbcf7e0adda66e5571a4b154adc Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Tue, 15 Jun 2021 10:44:34 +0930 +Subject: ARM: config: mutli v7: Reenable FB dependency + +From: Joel Stanley + +[ Upstream commit 8c1768967e2733d55abf449d8abd6f1915ba3539 ] + +DRM_FBDEV_EMULATION previously selected FB and was default y as long as DRM +was enabled. In commit f611b1e7624c ("drm: Avoid circular dependencies for +CONFIG_FB") the select was replaced with a depends on FB, disabling the +drivers that depended on it. + +Renable FB so we get back FB_EFI, FB_WM8505, FB_SH_MOBILE_LCDC, FB_SIMPLE and +VIDEO_VIVID. + +It must be set to y and not a module as the test driver VIDEO_VIVID +requires it to be built in. + +Link: https://lore.kernel.org/r/CAK8P3a18EdBKQdGDOZc9cPKsf=hY8==v2cO0DBE_tyd82Uq-Ng@mail.gmail.com +Signed-off-by: Joel Stanley +Reviewed-by: Arnd Bergmann +Signed-off-by: Arnd Bergmann +Signed-off-by: Sasha Levin +--- + arch/arm/configs/multi_v7_defconfig | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig +index a611b0c1e540..b1073fb3a132 100644 +--- a/arch/arm/configs/multi_v7_defconfig ++++ b/arch/arm/configs/multi_v7_defconfig +@@ -701,6 +701,7 @@ CONFIG_DRM_PL111=m + CONFIG_DRM_LIMA=m + CONFIG_DRM_PANFROST=m + CONFIG_DRM_ASPEED_GFX=m ++CONFIG_FB=y + CONFIG_FB_EFI=y + CONFIG_FB_WM8505=y + CONFIG_FB_SH_MOBILE_LCDC=y +-- +2.33.0 + diff --git a/queue-5.10/arm-dts-at91-sama5d2_som1_ek-disable-isc-node-by-def.patch b/queue-5.10/arm-dts-at91-sama5d2_som1_ek-disable-isc-node-by-def.patch new file mode 100644 index 00000000000..a56aae830e6 --- /dev/null +++ b/queue-5.10/arm-dts-at91-sama5d2_som1_ek-disable-isc-node-by-def.patch @@ -0,0 +1,37 @@ +From 4374de9e158e395cf11a7b802f6068f8b535da79 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Thu, 2 Sep 2021 15:13:58 +0300 +Subject: ARM: dts: at91: sama5d2_som1_ek: disable ISC node by default + +From: Eugen Hristev + +[ Upstream commit 4348cc10da6377a86940beb20ad357933b8f91bb ] + +Without a sensor node, the ISC will simply fail to probe, as the +corresponding port node is missing. +It is then logical to disable the node in the devicetree. +If we add a port with a connection to a sensor endpoint, ISC can be enabled. + +Signed-off-by: Eugen Hristev +Signed-off-by: Nicolas Ferre +Link: https://lore.kernel.org/r/20210902121358.503589-1-eugen.hristev@microchip.com +Signed-off-by: Sasha Levin +--- + arch/arm/boot/dts/at91-sama5d27_som1_ek.dts | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/arch/arm/boot/dts/at91-sama5d27_som1_ek.dts b/arch/arm/boot/dts/at91-sama5d27_som1_ek.dts +index 9a18453d7842..0a53f21a8903 100644 +--- a/arch/arm/boot/dts/at91-sama5d27_som1_ek.dts ++++ b/arch/arm/boot/dts/at91-sama5d27_som1_ek.dts +@@ -71,7 +71,6 @@ + isc: isc@f0008000 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_isc_base &pinctrl_isc_data_8bit &pinctrl_isc_data_9_10 &pinctrl_isc_data_11_12>; +- status = "okay"; + }; + + qspi1: spi@f0024000 { +-- +2.33.0 + diff --git a/queue-5.10/arm-dts-vexpress-v2p-ca9-fix-the-smb-unit-address.patch b/queue-5.10/arm-dts-vexpress-v2p-ca9-fix-the-smb-unit-address.patch new file mode 100644 index 00000000000..1bd44042381 --- /dev/null +++ b/queue-5.10/arm-dts-vexpress-v2p-ca9-fix-the-smb-unit-address.patch @@ -0,0 +1,53 @@ +From d0261ec06bc6eb1ae4b196fa2d584ae76e409df0 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Thu, 19 Aug 2021 13:42:38 -0500 +Subject: arm: dts: vexpress-v2p-ca9: Fix the SMB unit-address + +From: Rob Herring + +[ Upstream commit 2e9edc07df2ec6f835222151fa4e536e9e54856a ] + +Based on 'ranges', the 'bus@4000000' node unit-address is off by 1 '0'. + +Link: https://lore.kernel.org/r/20210819184239.1192395-5-robh@kernel.org +Cc: Andre Przywara +Cc: Sudeep Holla +Cc: Linus Walleij +Reviewed-by: Linus Walleij +Signed-off-by: Rob Herring +Signed-off-by: Sudeep Holla +Signed-off-by: Sasha Levin +--- + arch/arm/boot/dts/vexpress-v2m.dtsi | 2 +- + arch/arm/boot/dts/vexpress-v2p-ca9.dts | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/arch/arm/boot/dts/vexpress-v2m.dtsi b/arch/arm/boot/dts/vexpress-v2m.dtsi +index 2ac41ed3a57c..659dcf4004b4 100644 +--- a/arch/arm/boot/dts/vexpress-v2m.dtsi ++++ b/arch/arm/boot/dts/vexpress-v2m.dtsi +@@ -19,7 +19,7 @@ + */ + + / { +- bus@4000000 { ++ bus@40000000 { + motherboard { + model = "V2M-P1"; + arm,hbi = <0x190>; +diff --git a/arch/arm/boot/dts/vexpress-v2p-ca9.dts b/arch/arm/boot/dts/vexpress-v2p-ca9.dts +index 4c5847955856..1317f0f58d53 100644 +--- a/arch/arm/boot/dts/vexpress-v2p-ca9.dts ++++ b/arch/arm/boot/dts/vexpress-v2p-ca9.dts +@@ -295,7 +295,7 @@ + }; + }; + +- smb: bus@4000000 { ++ smb: bus@40000000 { + compatible = "simple-bus"; + + #address-cells = <2>; +-- +2.33.0 + diff --git a/queue-5.10/block-decode-queue_flag_hctx_active-in-debugfs-outpu.patch b/queue-5.10/block-decode-queue_flag_hctx_active-in-debugfs-outpu.patch new file mode 100644 index 00000000000..9219e584bfa --- /dev/null +++ b/queue-5.10/block-decode-queue_flag_hctx_active-in-debugfs-outpu.patch @@ -0,0 +1,39 @@ +From 25f5dd564b0b26767fecce342bb9600fc8bbd877 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Mon, 4 Oct 2021 16:22:07 +0900 +Subject: block: decode QUEUE_FLAG_HCTX_ACTIVE in debugfs output + +From: Johannes Thumshirn + +[ Upstream commit 1dbdd99b511c966be9147ad72991a2856ac76f22 ] + +While debugging an issue we've found that $DEBUGFS/block/$disk/state +doesn't decode QUEUE_FLAG_HCTX_ACTIVE but only displays its numerical +value. + +Add QUEUE_FLAG(HCTX_ACTIVE) to the blk_queue_flag_name array so it'll get +decoded properly. + +Signed-off-by: Johannes Thumshirn +Link: https://lore.kernel.org/r/4351076388918075bd80ef07756f9d2ce63be12c.1633332053.git.johannes.thumshirn@wdc.com +Signed-off-by: Jens Axboe +Signed-off-by: Sasha Levin +--- + block/blk-mq-debugfs.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/block/blk-mq-debugfs.c b/block/blk-mq-debugfs.c +index 4de03da9a624..b5f26082b959 100644 +--- a/block/blk-mq-debugfs.c ++++ b/block/blk-mq-debugfs.c +@@ -129,6 +129,7 @@ static const char *const blk_queue_flag_name[] = { + QUEUE_FLAG_NAME(PCI_P2PDMA), + QUEUE_FLAG_NAME(ZONE_RESETALL), + QUEUE_FLAG_NAME(RQ_ALLOC_TIME), ++ QUEUE_FLAG_NAME(HCTX_ACTIVE), + QUEUE_FLAG_NAME(NOWAIT), + }; + #undef QUEUE_FLAG_NAME +-- +2.33.0 + diff --git a/queue-5.10/drm-amdgpu-display-fix-dependencies-for-drm_amd_dc_s.patch b/queue-5.10/drm-amdgpu-display-fix-dependencies-for-drm_amd_dc_s.patch new file mode 100644 index 00000000000..f3dfd2b188f --- /dev/null +++ b/queue-5.10/drm-amdgpu-display-fix-dependencies-for-drm_amd_dc_s.patch @@ -0,0 +1,37 @@ +From c5ffc7728309e1b9a29bfb1590f0535b54e2cde0 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Fri, 1 Oct 2021 15:40:00 -0400 +Subject: drm/amdgpu/display: fix dependencies for DRM_AMD_DC_SI +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Alex Deucher + +[ Upstream commit 4702b34d1de9582df9dfa0e583ea28fff7de29df ] + +Depends on DRM_AMDGPU_SI and DRM_AMD_DC + +Reviewed-by: Christian König +Signed-off-by: Alex Deucher +Signed-off-by: Sasha Levin +--- + drivers/gpu/drm/amd/display/Kconfig | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/drivers/gpu/drm/amd/display/Kconfig b/drivers/gpu/drm/amd/display/Kconfig +index 3c410d236c49..f3274eb6b341 100644 +--- a/drivers/gpu/drm/amd/display/Kconfig ++++ b/drivers/gpu/drm/amd/display/Kconfig +@@ -33,6 +33,8 @@ config DRM_AMD_DC_HDCP + + config DRM_AMD_DC_SI + bool "AMD DC support for Southern Islands ASICs" ++ depends on DRM_AMDGPU_SI ++ depends on DRM_AMD_DC + default n + help + Choose this option to enable new AMD DC support for SI asics +-- +2.33.0 + diff --git a/queue-5.10/nfsd-keep-existing-listeners-on-portlist-error.patch b/queue-5.10/nfsd-keep-existing-listeners-on-portlist-error.patch new file mode 100644 index 00000000000..802d8cf4bd4 --- /dev/null +++ b/queue-5.10/nfsd-keep-existing-listeners-on-portlist-error.patch @@ -0,0 +1,42 @@ +From dbbb562079d5ca4ee462b029fdb6c49c8c08f4d1 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Wed, 6 Oct 2021 13:20:44 -0400 +Subject: NFSD: Keep existing listeners on portlist error + +From: Benjamin Coddington + +[ Upstream commit c20106944eb679fa3ab7e686fe5f6ba30fbc51e5 ] + +If nfsd has existing listening sockets without any processes, then an error +returned from svc_create_xprt() for an additional transport will remove +those existing listeners. We're seeing this in practice when userspace +attempts to create rpcrdma transports without having the rpcrdma modules +present before creating nfsd kernel processes. Fix this by checking for +existing sockets before calling nfsd_destroy(). + +Signed-off-by: Benjamin Coddington +Signed-off-by: Chuck Lever +Signed-off-by: Sasha Levin +--- + fs/nfsd/nfsctl.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c +index ddf2b375632b..21c4ffda5f94 100644 +--- a/fs/nfsd/nfsctl.c ++++ b/fs/nfsd/nfsctl.c +@@ -792,7 +792,10 @@ out_close: + svc_xprt_put(xprt); + } + out_err: +- nfsd_destroy(net); ++ if (!list_empty(&nn->nfsd_serv->sv_permsocks)) ++ nn->nfsd_serv->sv_nrthreads--; ++ else ++ nfsd_destroy(net); + return err; + } + +-- +2.33.0 + diff --git a/queue-5.10/series b/queue-5.10/series index f7adb9d5a68..9bcb71ab65e 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -1,3 +1,12 @@ parisc-math-emu-fix-fall-through-warnings.patch xhci-add-quirk-for-host-controllers-that-don-t-update-endpoint-dcs.patch io_uring-fix-splice_fd_in-checks-backport-typo.patch +arm-dts-vexpress-v2p-ca9-fix-the-smb-unit-address.patch +arm-config-mutli-v7-reenable-fb-dependency.patch +arm-dts-at91-sama5d2_som1_ek-disable-isc-node-by-def.patch +block-decode-queue_flag_hctx_active-in-debugfs-outpu.patch +xen-x86-prevent-pvh-type-from-getting-clobbered.patch +drm-amdgpu-display-fix-dependencies-for-drm_amd_dc_s.patch +xtensa-xtfpga-use-config_use_of-instead-of-config_of.patch +xtensa-xtfpga-try-software-restart-before-simulating.patch +nfsd-keep-existing-listeners-on-portlist-error.patch diff --git a/queue-5.10/xen-x86-prevent-pvh-type-from-getting-clobbered.patch b/queue-5.10/xen-x86-prevent-pvh-type-from-getting-clobbered.patch new file mode 100644 index 00000000000..a0e2bb5f376 --- /dev/null +++ b/queue-5.10/xen-x86-prevent-pvh-type-from-getting-clobbered.patch @@ -0,0 +1,60 @@ +From b403f65c95b5942aa535d6ce8662cf6412f3ccf5 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Thu, 30 Sep 2021 14:16:15 +0200 +Subject: xen/x86: prevent PVH type from getting clobbered + +From: Jan Beulich + +[ Upstream commit 9172b5c4a778da1f855b2e3780b1afabb3cfd523 ] + +Like xen_start_flags, xen_domain_type gets set before .bss gets cleared. +Hence this variable also needs to be prevented from getting put in .bss, +which is possible because XEN_NATIVE is an enumerator evaluating to +zero. Any use prior to init_hvm_pv_info() setting the variable again +would lead to wrong decisions; one such case is xenboot_console_setup() +when called as a result of "earlyprintk=xen". + +Use __ro_after_init as more applicable than either __section(".data") or +__read_mostly. + +Signed-off-by: Jan Beulich +Reviewed-by: Juergen Gross + +Link: https://lore.kernel.org/r/d301677b-6f22-5ae6-bd36-458e1f323d0b@suse.com +Signed-off-by: Juergen Gross +Signed-off-by: Sasha Levin +--- + arch/x86/xen/enlighten.c | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c +index aa9f50fccc5d..0f68c6da7382 100644 +--- a/arch/x86/xen/enlighten.c ++++ b/arch/x86/xen/enlighten.c +@@ -51,9 +51,6 @@ DEFINE_PER_CPU(struct vcpu_info, xen_vcpu_info); + DEFINE_PER_CPU(uint32_t, xen_vcpu_id); + EXPORT_PER_CPU_SYMBOL(xen_vcpu_id); + +-enum xen_domain_type xen_domain_type = XEN_NATIVE; +-EXPORT_SYMBOL_GPL(xen_domain_type); +- + unsigned long *machine_to_phys_mapping = (void *)MACH2PHYS_VIRT_START; + EXPORT_SYMBOL(machine_to_phys_mapping); + unsigned long machine_to_phys_nr; +@@ -68,9 +65,11 @@ __read_mostly int xen_have_vector_callback; + EXPORT_SYMBOL_GPL(xen_have_vector_callback); + + /* +- * NB: needs to live in .data because it's used by xen_prepare_pvh which runs +- * before clearing the bss. ++ * NB: These need to live in .data or alike because they're used by ++ * xen_prepare_pvh() which runs before clearing the bss. + */ ++enum xen_domain_type __ro_after_init xen_domain_type = XEN_NATIVE; ++EXPORT_SYMBOL_GPL(xen_domain_type); + uint32_t xen_start_flags __section(".data") = 0; + EXPORT_SYMBOL(xen_start_flags); + +-- +2.33.0 + diff --git a/queue-5.10/xtensa-xtfpga-try-software-restart-before-simulating.patch b/queue-5.10/xtensa-xtfpga-try-software-restart-before-simulating.patch new file mode 100644 index 00000000000..1b006b468ca --- /dev/null +++ b/queue-5.10/xtensa-xtfpga-try-software-restart-before-simulating.patch @@ -0,0 +1,56 @@ +From d989555aadac6f51b2a0c8bb1550a233b3086ccd Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Sun, 1 Aug 2021 10:36:59 -0700 +Subject: xtensa: xtfpga: Try software restart before simulating CPU reset + +From: Guenter Roeck + +[ Upstream commit 012e974501a270d8dfd4ee2039e1fdf7579c907e ] + +Rebooting xtensa images loaded with the '-kernel' option in qemu does +not work. When executing a reboot command, the qemu session either hangs +or experiences an endless sequence of error messages. + + Kernel panic - not syncing: Unrecoverable error in exception handler + +Reset code jumps to the CPU restart address, but Linux can not recover +from there because code and data in the kernel init sections have been +discarded and overwritten at this point. + +XTFPGA platforms have a means to reset the CPU by writing 0xdead into a +specific FPGA IO address. When used in QEMU the kernel image loaded with +the '-kernel' option gets restored to its original state allowing the +machine to boot successfully. + +Use that mechanism to attempt a platform reset. If it does not work, +fall back to the existing mechanism. + +Signed-off-by: Guenter Roeck +Signed-off-by: Max Filippov +Signed-off-by: Sasha Levin +--- + arch/xtensa/platforms/xtfpga/setup.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/arch/xtensa/platforms/xtfpga/setup.c b/arch/xtensa/platforms/xtfpga/setup.c +index 59b7f11f2a3e..538e6748e85a 100644 +--- a/arch/xtensa/platforms/xtfpga/setup.c ++++ b/arch/xtensa/platforms/xtfpga/setup.c +@@ -51,8 +51,12 @@ void platform_power_off(void) + + void platform_restart(void) + { +- /* Flush and reset the mmu, simulate a processor reset, and +- * jump to the reset vector. */ ++ /* Try software reset first. */ ++ WRITE_ONCE(*(u32 *)XTFPGA_SWRST_VADDR, 0xdead); ++ ++ /* If software reset did not work, flush and reset the mmu, ++ * simulate a processor reset, and jump to the reset vector. ++ */ + cpu_reset(); + /* control never gets here */ + } +-- +2.33.0 + diff --git a/queue-5.10/xtensa-xtfpga-use-config_use_of-instead-of-config_of.patch b/queue-5.10/xtensa-xtfpga-use-config_use_of-instead-of-config_of.patch new file mode 100644 index 00000000000..4543d8ed12e --- /dev/null +++ b/queue-5.10/xtensa-xtfpga-use-config_use_of-instead-of-config_of.patch @@ -0,0 +1,41 @@ +From 5f06156aa261e87254c8b27c4ad6d188cde25e09 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Tue, 5 Oct 2021 11:36:01 -0700 +Subject: xtensa: xtfpga: use CONFIG_USE_OF instead of CONFIG_OF + +From: Max Filippov + +[ Upstream commit f3d7c2cdf6dc0d5402ec29c3673893b3542c5ad1 ] + +Use platform data to initialize xtfpga device drivers when CONFIG_USE_OF +is not selected. This fixes xtfpga networking when CONFIG_USE_OF is not +selected but CONFIG_OF is. + +Signed-off-by: Max Filippov +Signed-off-by: Sasha Levin +--- + arch/xtensa/platforms/xtfpga/setup.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/arch/xtensa/platforms/xtfpga/setup.c b/arch/xtensa/platforms/xtfpga/setup.c +index 4f7d6142d41f..59b7f11f2a3e 100644 +--- a/arch/xtensa/platforms/xtfpga/setup.c ++++ b/arch/xtensa/platforms/xtfpga/setup.c +@@ -66,7 +66,7 @@ void __init platform_calibrate_ccount(void) + + #endif + +-#ifdef CONFIG_OF ++#ifdef CONFIG_USE_OF + + static void __init xtfpga_clk_setup(struct device_node *np) + { +@@ -284,4 +284,4 @@ static int __init xtavnet_init(void) + */ + arch_initcall(xtavnet_init); + +-#endif /* CONFIG_OF */ ++#endif /* CONFIG_USE_OF */ +-- +2.33.0 +