From: Greg Kroah-Hartman Date: Mon, 24 Jan 2022 11:21:29 +0000 (+0100) Subject: 5.4-stable patches X-Git-Tag: v4.4.300~79 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5107bb17810d509e968d3c6d29074b9994180d6c;p=thirdparty%2Fkernel%2Fstable-queue.git 5.4-stable patches added patches: dmaengine-stm32-mdma-fix-stm32_mdma_ctbr_tsel_mask.patch documentation-acpi-fix-data-node-reference-documentation.patch documentation-dmaengine-correctly-describe-dmatest-with-channel-unset.patch documentation-fix-firewire.rst-abi-file-path-error.patch documentation-refer-to-config-randomize_base-for-kernel-address-space-randomization.patch firmware-update-kconfig-help-text-for-google-firmware.patch lib-kconfig.debug-make-test_kmod-depend-on-page_size_less_than_256kb.patch media-rcar-csi2-optimize-the-selection-phtw-register.patch rdma-hns-modify-the-mapping-attribute-of-doorbell-to-device.patch rdma-rxe-fix-a-typo-in-opcode-name.patch revert-net-mlx5-add-retry-mechanism-to-the-command-entry-index-allocation.patch scsi-core-show-scmd_last-in-text-form.patch --- diff --git a/queue-5.4/dmaengine-stm32-mdma-fix-stm32_mdma_ctbr_tsel_mask.patch b/queue-5.4/dmaengine-stm32-mdma-fix-stm32_mdma_ctbr_tsel_mask.patch new file mode 100644 index 00000000000..71cabf13ad8 --- /dev/null +++ b/queue-5.4/dmaengine-stm32-mdma-fix-stm32_mdma_ctbr_tsel_mask.patch @@ -0,0 +1,31 @@ +From e7f110889a87307fb0fed408a5dee1707796ca04 Mon Sep 17 00:00:00 2001 +From: Amelie Delaunay +Date: Mon, 20 Dec 2021 17:58:27 +0100 +Subject: dmaengine: stm32-mdma: fix STM32_MDMA_CTBR_TSEL_MASK + +From: Amelie Delaunay + +commit e7f110889a87307fb0fed408a5dee1707796ca04 upstream. + +This patch fixes STM32_MDMA_CTBR_TSEL_MASK, which is [5:0], not [7:0]. + +Fixes: a4ffb13c8946 ("dmaengine: Add STM32 MDMA driver") +Signed-off-by: Amelie Delaunay +Link: https://lore.kernel.org/r/20211220165827.1238097-1-amelie.delaunay@foss.st.com +Signed-off-by: Vinod Koul +Signed-off-by: Greg Kroah-Hartman +--- + drivers/dma/stm32-mdma.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/dma/stm32-mdma.c ++++ b/drivers/dma/stm32-mdma.c +@@ -184,7 +184,7 @@ + #define STM32_MDMA_CTBR(x) (0x68 + 0x40 * (x)) + #define STM32_MDMA_CTBR_DBUS BIT(17) + #define STM32_MDMA_CTBR_SBUS BIT(16) +-#define STM32_MDMA_CTBR_TSEL_MASK GENMASK(7, 0) ++#define STM32_MDMA_CTBR_TSEL_MASK GENMASK(5, 0) + #define STM32_MDMA_CTBR_TSEL(n) STM32_MDMA_SET(n, \ + STM32_MDMA_CTBR_TSEL_MASK) + diff --git a/queue-5.4/documentation-acpi-fix-data-node-reference-documentation.patch b/queue-5.4/documentation-acpi-fix-data-node-reference-documentation.patch new file mode 100644 index 00000000000..3a34a4f6753 --- /dev/null +++ b/queue-5.4/documentation-acpi-fix-data-node-reference-documentation.patch @@ -0,0 +1,66 @@ +From a11174952205d082f1658fab4314f0caf706e0a8 Mon Sep 17 00:00:00 2001 +From: Sakari Ailus +Date: Wed, 1 Dec 2021 14:59:31 +0200 +Subject: Documentation: ACPI: Fix data node reference documentation + +From: Sakari Ailus + +commit a11174952205d082f1658fab4314f0caf706e0a8 upstream. + +The data node reference documentation was missing a package that must +contain the property values, instead property name and multiple values +being present in a single package. This is not aligned with the _DSD +spec. + +Fix it by adding the package for the values. + +Also add the missing "reg" properties to two numbered nodes. + +Fixes: b10134a3643d ("ACPI: property: Document hierarchical data extension references") +Signed-off-by: Sakari Ailus +Reviewed-by: Andy Shevchenko +Signed-off-by: Rafael J. Wysocki +Signed-off-by: Greg Kroah-Hartman +--- + Documentation/firmware-guide/acpi/dsd/data-node-references.rst | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +--- a/Documentation/firmware-guide/acpi/dsd/data-node-references.rst ++++ b/Documentation/firmware-guide/acpi/dsd/data-node-references.rst +@@ -5,7 +5,7 @@ + Referencing hierarchical data nodes + =================================== + +-:Copyright: |copy| 2018 Intel Corporation ++:Copyright: |copy| 2018, 2021 Intel Corporation + :Author: Sakari Ailus + + ACPI in general allows referring to device objects in the tree only. +@@ -52,12 +52,14 @@ the ANOD object which is also the final + Name (NOD0, Package() { + ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), + Package () { ++ Package () { "reg", 0 }, + Package () { "random-property", 3 }, + } + }) + Name (NOD1, Package() { + ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"), + Package () { ++ Package () { "reg", 1 }, + Package () { "anothernode", "ANOD" }, + } + }) +@@ -74,7 +76,11 @@ the ANOD object which is also the final + Name (_DSD, Package () { + ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), + Package () { +- Package () { "reference", ^DEV0, "node@1", "anothernode" }, ++ Package () { ++ "reference", Package () { ++ ^DEV0, "node@1", "anothernode" ++ } ++ }, + } + }) + } diff --git a/queue-5.4/documentation-dmaengine-correctly-describe-dmatest-with-channel-unset.patch b/queue-5.4/documentation-dmaengine-correctly-describe-dmatest-with-channel-unset.patch new file mode 100644 index 00000000000..ae562503170 --- /dev/null +++ b/queue-5.4/documentation-dmaengine-correctly-describe-dmatest-with-channel-unset.patch @@ -0,0 +1,42 @@ +From c61d7b2ef141abf81140756b45860a2306f395a2 Mon Sep 17 00:00:00 2001 +From: Daniel Thompson +Date: Thu, 18 Nov 2021 10:09:52 +0000 +Subject: Documentation: dmaengine: Correctly describe dmatest with channel unset + +From: Daniel Thompson + +commit c61d7b2ef141abf81140756b45860a2306f395a2 upstream. + +Currently the documentation states that channels must be configured before +running the dmatest. This has not been true since commit 6b41030fdc79 +("dmaengine: dmatest: Restore default for channel"). Fix accordingly. + +Fixes: 6b41030fdc79 ("dmaengine: dmatest: Restore default for channel") +Signed-off-by: Daniel Thompson +Link: https://lore.kernel.org/r/20211118100952.27268-3-daniel.thompson@linaro.org +Signed-off-by: Vinod Koul +Signed-off-by: Greg Kroah-Hartman +--- + Documentation/driver-api/dmaengine/dmatest.rst | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +--- a/Documentation/driver-api/dmaengine/dmatest.rst ++++ b/Documentation/driver-api/dmaengine/dmatest.rst +@@ -143,13 +143,14 @@ Part 5 - Handling channel allocation + Allocating Channels + ------------------- + +-Channels are required to be configured prior to starting the test run. +-Attempting to run the test without configuring the channels will fail. ++Channels do not need to be configured prior to starting a test run. Attempting ++to run the test without configuring the channels will result in testing any ++channels that are available. + + Example:: + + % echo 1 > /sys/module/dmatest/parameters/run +- dmatest: Could not start test, no channels configured ++ dmatest: No channels configured, continue with any + + Channels are registered using the "channel" parameter. Channels can be requested by their + name, once requested, the channel is registered and a pending thread is added to the test list. diff --git a/queue-5.4/documentation-fix-firewire.rst-abi-file-path-error.patch b/queue-5.4/documentation-fix-firewire.rst-abi-file-path-error.patch new file mode 100644 index 00000000000..0bb09726a5c --- /dev/null +++ b/queue-5.4/documentation-fix-firewire.rst-abi-file-path-error.patch @@ -0,0 +1,46 @@ +From b0ac702f3329cdc8a06dcaac73183d4b5a2b942d Mon Sep 17 00:00:00 2001 +From: Randy Dunlap +Date: Tue, 18 Jan 2022 19:39:05 -0800 +Subject: Documentation: fix firewire.rst ABI file path error + +From: Randy Dunlap + +commit b0ac702f3329cdc8a06dcaac73183d4b5a2b942d upstream. + +Adjust the path of the ABI files for firewire.rst to prevent a +documentation build error. Prevents this problem: + +Sphinx parallel build error: +docutils.utils.SystemMessage: Documentation/driver-api/firewire.rst:22: (SEVERE/4) Problems with "include" directive path: +InputError: [Errno 2] No such file or directory: '../Documentation/driver-api/ABI/stable/firewire-cdev'. + +Fixes: 2f4830ef96d2 ("FireWire: add driver-api Introduction section") +Signed-off-by: Randy Dunlap +Tested-by: Akira Yokosawa +Link: https://lore.kernel.org/r/20220119033905.4779-1-rdunlap@infradead.org +Signed-off-by: Jonathan Corbet +Signed-off-by: Greg Kroah-Hartman +--- + Documentation/driver-api/firewire.rst | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/Documentation/driver-api/firewire.rst ++++ b/Documentation/driver-api/firewire.rst +@@ -19,7 +19,7 @@ of kernel interfaces is available via ex + Firewire char device data structures + ==================================== + +-.. include:: /ABI/stable/firewire-cdev ++.. include:: ../ABI/stable/firewire-cdev + :literal: + + .. kernel-doc:: include/uapi/linux/firewire-cdev.h +@@ -28,7 +28,7 @@ Firewire char device data structures + Firewire device probing and sysfs interfaces + ============================================ + +-.. include:: /ABI/stable/sysfs-bus-firewire ++.. include:: ../ABI/stable/sysfs-bus-firewire + :literal: + + .. kernel-doc:: drivers/firewire/core-device.c diff --git a/queue-5.4/documentation-refer-to-config-randomize_base-for-kernel-address-space-randomization.patch b/queue-5.4/documentation-refer-to-config-randomize_base-for-kernel-address-space-randomization.patch new file mode 100644 index 00000000000..9e983015d28 --- /dev/null +++ b/queue-5.4/documentation-refer-to-config-randomize_base-for-kernel-address-space-randomization.patch @@ -0,0 +1,39 @@ +From 82ca67321f55a8d1da6ac3ed611da3c32818bb37 Mon Sep 17 00:00:00 2001 +From: Lukas Bulwahn +Date: Thu, 30 Dec 2021 18:19:40 +0100 +Subject: Documentation: refer to config RANDOMIZE_BASE for kernel address-space randomization + +From: Lukas Bulwahn + +commit 82ca67321f55a8d1da6ac3ed611da3c32818bb37 upstream. + +The config RANDOMIZE_SLAB does not exist, the authors probably intended to +refer to the config RANDOMIZE_BASE, which provides kernel address-space +randomization. They probably just confused SLAB with BASE (these two +four-letter words coincidentally share three common letters), as they also +point out the config SLAB_FREELIST_RANDOM as further randomization within +the same sentence. + +Fix the reference of the config for kernel address-space randomization to +the config that provides that. + +Fixes: 6e88559470f5 ("Documentation: Add section about CPU vulnerabilities for Spectre") +Signed-off-by: Lukas Bulwahn +Link: https://lore.kernel.org/r/20211230171940.27558-1-lukas.bulwahn@gmail.com +Signed-off-by: Jonathan Corbet +Signed-off-by: Greg Kroah-Hartman +--- + Documentation/admin-guide/hw-vuln/spectre.rst | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/Documentation/admin-guide/hw-vuln/spectre.rst ++++ b/Documentation/admin-guide/hw-vuln/spectre.rst +@@ -468,7 +468,7 @@ Spectre variant 2 + before invoking any firmware code to prevent Spectre variant 2 exploits + using the firmware. + +- Using kernel address space randomization (CONFIG_RANDOMIZE_SLAB=y ++ Using kernel address space randomization (CONFIG_RANDOMIZE_BASE=y + and CONFIG_SLAB_FREELIST_RANDOM=y in the kernel configuration) makes + attacks on the kernel generally more difficult. + diff --git a/queue-5.4/firmware-update-kconfig-help-text-for-google-firmware.patch b/queue-5.4/firmware-update-kconfig-help-text-for-google-firmware.patch new file mode 100644 index 00000000000..2b60044c233 --- /dev/null +++ b/queue-5.4/firmware-update-kconfig-help-text-for-google-firmware.patch @@ -0,0 +1,40 @@ +From d185a3466f0cd5af8f1c5c782c53bc0e6f2e7136 Mon Sep 17 00:00:00 2001 +From: Ben Hutchings +Date: Mon, 18 Jun 2018 23:55:40 +0100 +Subject: firmware: Update Kconfig help text for Google firmware + +From: Ben Hutchings + +commit d185a3466f0cd5af8f1c5c782c53bc0e6f2e7136 upstream. + +The help text for GOOGLE_FIRMWARE states that it should only be +enabled when building a kernel for Google's own servers. However, +many of the drivers dependent on it are also useful on Chromebooks or +on any platform using coreboot. + +Update the help text to reflect this double duty. + +Fixes: d384d6f43d1e ("firmware: google memconsole: Add coreboot support") +Reviewed-by: Julius Werner +Signed-off-by: Ben Hutchings +Link: https://lore.kernel.org/r/20180618225540.GD14131@decadent.org.uk +Signed-off-by: Greg Kroah-Hartman +--- + drivers/firmware/google/Kconfig | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +--- a/drivers/firmware/google/Kconfig ++++ b/drivers/firmware/google/Kconfig +@@ -3,9 +3,9 @@ menuconfig GOOGLE_FIRMWARE + bool "Google Firmware Drivers" + default n + help +- These firmware drivers are used by Google's servers. They are +- only useful if you are working directly on one of their +- proprietary servers. If in doubt, say "N". ++ These firmware drivers are used by Google servers, ++ Chromebooks and other devices using coreboot firmware. ++ If in doubt, say "N". + + if GOOGLE_FIRMWARE + diff --git a/queue-5.4/lib-kconfig.debug-make-test_kmod-depend-on-page_size_less_than_256kb.patch b/queue-5.4/lib-kconfig.debug-make-test_kmod-depend-on-page_size_less_than_256kb.patch new file mode 100644 index 00000000000..6d987628e0e --- /dev/null +++ b/queue-5.4/lib-kconfig.debug-make-test_kmod-depend-on-page_size_less_than_256kb.patch @@ -0,0 +1,51 @@ +From bbd2e05fad3e692ff2495895975bd0fce02bdbae Mon Sep 17 00:00:00 2001 +From: Nathan Chancellor +Date: Wed, 19 Jan 2022 18:10:28 -0800 +Subject: lib/Kconfig.debug: make TEST_KMOD depend on PAGE_SIZE_LESS_THAN_256KB + +From: Nathan Chancellor + +commit bbd2e05fad3e692ff2495895975bd0fce02bdbae upstream. + +Commit b05fbcc36be1 ("btrfs: disable build on platforms having page size +256K") disabled btrfs for configurations that used a 256kB page size. +However, it did not fully solve the problem because CONFIG_TEST_KMOD +selects CONFIG_BTRFS, which does not account for the dependency. This +results in a Kconfig warning and the failed BUILD_BUG_ON error +returning. + + WARNING: unmet direct dependencies detected for BTRFS_FS + Depends on [n]: BLOCK [=y] && !PPC_256K_PAGES && !PAGE_SIZE_256KB [=y] + Selected by [m]: + - TEST_KMOD [=m] && RUNTIME_TESTING_MENU [=y] && m && MODULES [=y] && NETDEVICES [=y] && NET_CORE [=y] && INET [=y] && BLOCK [=y] + +To resolve this, add CONFIG_PAGE_SIZE_LESS_THAN_256KB as a dependency of +CONFIG_TEST_KMOD so there is no more invalid configuration or build +errors. + +Link: https://lkml.kernel.org/r/20211129230141.228085-4-nathan@kernel.org +Fixes: b05fbcc36be1 ("btrfs: disable build on platforms having page size 256K") +Signed-off-by: Nathan Chancellor +Reported-by: kernel test robot +Cc: Chris Mason +Cc: David Sterba +Cc: Josef Bacik +Cc: Luis Chamberlain +Cc: Nick Desaulniers +Signed-off-by: Andrew Morton +Signed-off-by: Linus Torvalds +Signed-off-by: Greg Kroah-Hartman +--- + lib/Kconfig.debug | 1 + + 1 file changed, 1 insertion(+) + +--- a/lib/Kconfig.debug ++++ b/lib/Kconfig.debug +@@ -1970,6 +1970,7 @@ config TEST_KMOD + depends on m + depends on NETDEVICES && NET_CORE && INET # for TUN + depends on BLOCK ++ depends on PAGE_SIZE_LESS_THAN_256KB # for BTRFS + select TEST_LKM + select XFS_FS + select TUN diff --git a/queue-5.4/media-rcar-csi2-optimize-the-selection-phtw-register.patch b/queue-5.4/media-rcar-csi2-optimize-the-selection-phtw-register.patch new file mode 100644 index 00000000000..6e75d4fa073 --- /dev/null +++ b/queue-5.4/media-rcar-csi2-optimize-the-selection-phtw-register.patch @@ -0,0 +1,53 @@ +From 549cc89cd09a85aaa16dc07ef3db811d5cf9bcb1 Mon Sep 17 00:00:00 2001 +From: Suresh Udipi +Date: Fri, 13 Aug 2021 17:07:56 +0200 +Subject: media: rcar-csi2: Optimize the selection PHTW register +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Suresh Udipi + +commit 549cc89cd09a85aaa16dc07ef3db811d5cf9bcb1 upstream. + +PHTW register is selected based on default bit rate from Table[1]. +for the bit rates less than or equal to 250. Currently first +value of default bit rate which is greater than or equal to +the caculated mbps is selected. This selection can be further +improved by selecting the default bit rate which is nearest to +the calculated value. + +[1] specs r19uh0105ej0200-r-car-3rd-generation.pdf [Table 25.12] + +Fixes: 769afd212b16 ("media: rcar-csi2: add Renesas R-Car MIPI CSI-2 receiver driver") +Signed-off-by: Suresh Udipi +Signed-off-by: Michael Rodin +Reviewed-by: Niklas Söderlund +Signed-off-by: Hans Verkuil +Signed-off-by: Mauro Carvalho Chehab +Signed-off-by: Greg Kroah-Hartman +--- + drivers/media/platform/rcar-vin/rcar-csi2.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +--- a/drivers/media/platform/rcar-vin/rcar-csi2.c ++++ b/drivers/media/platform/rcar-vin/rcar-csi2.c +@@ -911,10 +911,17 @@ static int rcsi2_phtw_write_mbps(struct + const struct rcsi2_mbps_reg *values, u16 code) + { + const struct rcsi2_mbps_reg *value; ++ const struct rcsi2_mbps_reg *prev_value = NULL; + +- for (value = values; value->mbps; value++) ++ for (value = values; value->mbps; value++) { + if (value->mbps >= mbps) + break; ++ prev_value = value; ++ } ++ ++ if (prev_value && ++ ((mbps - prev_value->mbps) <= (value->mbps - mbps))) ++ value = prev_value; + + if (!value->mbps) { + dev_err(priv->dev, "Unsupported PHY speed (%u Mbps)", mbps); diff --git a/queue-5.4/rdma-hns-modify-the-mapping-attribute-of-doorbell-to-device.patch b/queue-5.4/rdma-hns-modify-the-mapping-attribute-of-doorbell-to-device.patch new file mode 100644 index 00000000000..7840ecd4fcb --- /dev/null +++ b/queue-5.4/rdma-hns-modify-the-mapping-attribute-of-doorbell-to-device.patch @@ -0,0 +1,33 @@ +From 39d5534b1302189c809e90641ffae8cbdc42a8fc Mon Sep 17 00:00:00 2001 +From: Yixing Liu +Date: Mon, 6 Dec 2021 21:36:52 +0800 +Subject: RDMA/hns: Modify the mapping attribute of doorbell to device + +From: Yixing Liu + +commit 39d5534b1302189c809e90641ffae8cbdc42a8fc upstream. + +It is more general for ARM device drivers to use the device attribute to +map PCI BAR spaces. + +Fixes: 9a4435375cd1 ("IB/hns: Add driver files for hns RoCE driver") +Link: https://lore.kernel.org/r/20211206133652.27476-1-liangwenpeng@huawei.com +Signed-off-by: Yixing Liu +Signed-off-by: Wenpeng Liang +Signed-off-by: Jason Gunthorpe +Signed-off-by: Greg Kroah-Hartman +--- + drivers/infiniband/hw/hns/hns_roce_main.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/infiniband/hw/hns/hns_roce_main.c ++++ b/drivers/infiniband/hw/hns/hns_roce_main.c +@@ -362,7 +362,7 @@ static int hns_roce_mmap(struct ib_ucont + return rdma_user_mmap_io(context, vma, + to_hr_ucontext(context)->uar.pfn, + PAGE_SIZE, +- pgprot_noncached(vma->vm_page_prot)); ++ pgprot_device(vma->vm_page_prot)); + + /* vm_pgoff: 1 -- TPTR */ + case 1: diff --git a/queue-5.4/rdma-rxe-fix-a-typo-in-opcode-name.patch b/queue-5.4/rdma-rxe-fix-a-typo-in-opcode-name.patch new file mode 100644 index 00000000000..098be4edd46 --- /dev/null +++ b/queue-5.4/rdma-rxe-fix-a-typo-in-opcode-name.patch @@ -0,0 +1,34 @@ +From 8d1cfb884e881efd69a3be4ef10772c71cb22216 Mon Sep 17 00:00:00 2001 +From: Chengguang Xu +Date: Sat, 18 Dec 2021 19:23:20 +0800 +Subject: RDMA/rxe: Fix a typo in opcode name + +From: Chengguang Xu + +commit 8d1cfb884e881efd69a3be4ef10772c71cb22216 upstream. + +There is a redundant ']' in the name of opcode IB_OPCODE_RC_SEND_MIDDLE, +so just fix it. + +Fixes: 8700e3e7c485 ("Soft RoCE driver") +Link: https://lore.kernel.org/r/20211218112320.3558770-1-cgxu519@mykernel.net +Signed-off-by: Chengguang Xu +Acked-by: Zhu Yanjun +Reviewed-by: Bob Pearson +Signed-off-by: Jason Gunthorpe +Signed-off-by: Greg Kroah-Hartman +--- + drivers/infiniband/sw/rxe/rxe_opcode.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/infiniband/sw/rxe/rxe_opcode.c ++++ b/drivers/infiniband/sw/rxe/rxe_opcode.c +@@ -137,7 +137,7 @@ struct rxe_opcode_info rxe_opcode[RXE_NU + } + }, + [IB_OPCODE_RC_SEND_MIDDLE] = { +- .name = "IB_OPCODE_RC_SEND_MIDDLE]", ++ .name = "IB_OPCODE_RC_SEND_MIDDLE", + .mask = RXE_PAYLOAD_MASK | RXE_REQ_MASK | RXE_SEND_MASK + | RXE_MIDDLE_MASK, + .length = RXE_BTH_BYTES, diff --git a/queue-5.4/revert-net-mlx5-add-retry-mechanism-to-the-command-entry-index-allocation.patch b/queue-5.4/revert-net-mlx5-add-retry-mechanism-to-the-command-entry-index-allocation.patch new file mode 100644 index 00000000000..fdac071490b --- /dev/null +++ b/queue-5.4/revert-net-mlx5-add-retry-mechanism-to-the-command-entry-index-allocation.patch @@ -0,0 +1,62 @@ +From 4f6626b0e140867fd6d5a2e9d4ceaef97f10f46a Mon Sep 17 00:00:00 2001 +From: Moshe Shemesh +Date: Sun, 5 Dec 2021 11:20:59 +0200 +Subject: Revert "net/mlx5: Add retry mechanism to the command entry index allocation" + +From: Moshe Shemesh + +commit 4f6626b0e140867fd6d5a2e9d4ceaef97f10f46a upstream. + +This reverts commit 410bd754cd73c4a2ac3856d9a03d7b08f9c906bf. + +The reverted commit had added a retry mechanism to the command entry +index allocation. The previous patch ensures that there is a free +command entry index once the command work handler holds the command +semaphore. Thus the retry mechanism is not needed. + +Fixes: 410bd754cd73 ("net/mlx5: Add retry mechanism to the command entry index allocation") +Signed-off-by: Moshe Shemesh +Reviewed-by: Eran Ben Elisha +Signed-off-by: Saeed Mahameed +Signed-off-by: Greg Kroah-Hartman +--- + drivers/net/ethernet/mellanox/mlx5/core/cmd.c | 21 +-------------------- + 1 file changed, 1 insertion(+), 20 deletions(-) + +--- a/drivers/net/ethernet/mellanox/mlx5/core/cmd.c ++++ b/drivers/net/ethernet/mellanox/mlx5/core/cmd.c +@@ -887,25 +887,6 @@ static bool opcode_allowed(struct mlx5_c + return cmd->allowed_opcode == opcode; + } + +-static int cmd_alloc_index_retry(struct mlx5_cmd *cmd) +-{ +- unsigned long alloc_end = jiffies + msecs_to_jiffies(1000); +- int idx; +- +-retry: +- idx = cmd_alloc_index(cmd); +- if (idx < 0 && time_before(jiffies, alloc_end)) { +- /* Index allocation can fail on heavy load of commands. This is a temporary +- * situation as the current command already holds the semaphore, meaning that +- * another command completion is being handled and it is expected to release +- * the entry index soon. +- */ +- cpu_relax(); +- goto retry; +- } +- return idx; +-} +- + static void cmd_work_handler(struct work_struct *work) + { + struct mlx5_cmd_work_ent *ent = container_of(work, struct mlx5_cmd_work_ent, work); +@@ -923,7 +904,7 @@ static void cmd_work_handler(struct work + sem = ent->page_queue ? &cmd->pages_sem : &cmd->sem; + down(sem); + if (!ent->page_queue) { +- alloc_ret = cmd_alloc_index_retry(cmd); ++ alloc_ret = cmd_alloc_index(cmd); + if (alloc_ret < 0) { + mlx5_core_err(dev, "failed to allocate command entry\n"); + if (ent->callback) { diff --git a/queue-5.4/scsi-core-show-scmd_last-in-text-form.patch b/queue-5.4/scsi-core-show-scmd_last-in-text-form.patch new file mode 100644 index 00000000000..0e91ca30b34 --- /dev/null +++ b/queue-5.4/scsi-core-show-scmd_last-in-text-form.patch @@ -0,0 +1,32 @@ +From 3369046e54ca8f82e0cb17740643da2d80d3cfa8 Mon Sep 17 00:00:00 2001 +From: Bart Van Assche +Date: Mon, 29 Nov 2021 11:46:00 -0800 +Subject: scsi: core: Show SCMD_LAST in text form + +From: Bart Van Assche + +commit 3369046e54ca8f82e0cb17740643da2d80d3cfa8 upstream. + +The SCSI debugfs code supports showing information about pending commands, +including translating SCSI command flags from numeric into text format. +Also convert the SCMD_LAST flag from numeric into text form. + +Link: https://lore.kernel.org/r/20211129194609.3466071-4-bvanassche@acm.org +Fixes: 8930a6c20791 ("scsi: core: add support for request batching") +Signed-off-by: Bart Van Assche +Signed-off-by: Martin K. Petersen +Signed-off-by: Greg Kroah-Hartman +--- + drivers/scsi/scsi_debugfs.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/scsi/scsi_debugfs.c ++++ b/drivers/scsi/scsi_debugfs.c +@@ -10,6 +10,7 @@ static const char *const scsi_cmd_flags[ + SCSI_CMD_FLAG_NAME(TAGGED), + SCSI_CMD_FLAG_NAME(UNCHECKED_ISA_DMA), + SCSI_CMD_FLAG_NAME(INITIALIZED), ++ SCSI_CMD_FLAG_NAME(LAST), + }; + #undef SCSI_CMD_FLAG_NAME + diff --git a/queue-5.4/series b/queue-5.4/series index 501ab7fc2c2..11f36e1bb1f 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -272,3 +272,15 @@ ext4-fix-bug_on-in-ext4_bread-when-write-quota-data.patch ext4-don-t-use-the-orphan-list-when-migrating-an-inode.patch drm-radeon-fix-error-handling-in-radeon_driver_open_kms.patch of-base-improve-argument-length-mismatch-error.patch +firmware-update-kconfig-help-text-for-google-firmware.patch +media-rcar-csi2-optimize-the-selection-phtw-register.patch +lib-kconfig.debug-make-test_kmod-depend-on-page_size_less_than_256kb.patch +documentation-dmaengine-correctly-describe-dmatest-with-channel-unset.patch +documentation-acpi-fix-data-node-reference-documentation.patch +documentation-refer-to-config-randomize_base-for-kernel-address-space-randomization.patch +documentation-fix-firewire.rst-abi-file-path-error.patch +scsi-core-show-scmd_last-in-text-form.patch +rdma-hns-modify-the-mapping-attribute-of-doorbell-to-device.patch +rdma-rxe-fix-a-typo-in-opcode-name.patch +dmaengine-stm32-mdma-fix-stm32_mdma_ctbr_tsel_mask.patch +revert-net-mlx5-add-retry-mechanism-to-the-command-entry-index-allocation.patch