commit 016d484531e3169cd7bcb26e0ac2c5523080809f Author: Piotr Zarycki Date: Thu Apr 23 10:13:43 2026 +0200 scsi: isci: Remove unused macro scu_get_command_request_logical_port() The macro scu_get_command_request_logical_port() has never been used since it was introduced. Signed-off-by: Piotr Zarycki Link: https://patch.msgid.link/20260423081343.1813002-1-piotr.zarycki@gmail.com Signed-off-by: Martin K. Petersen commit 76417038c4d61fc3d407625c0b9332942f13e142 Author: Palash Kambar Date: Thu Apr 23 15:50:23 2026 +0530 scsi: ufs: ufs-qcom: Enable Auto Hibern8 clock request support On platforms that support Auto Hibern8 (AH8), the UFS controller can autonomously de-assert clk_req signals to the Global Clock Controller when entering the Hibern8 state. This allows Global Clock Controller (GCC) to gate unused clocks, improving power efficiency. Enable the Clock Request feature by setting the UFS_HW_CLK_CTRL_EN bit in the UFS_AH8_CFG register, as recommended in the Hardware Programming Guidelines. Reviewed-by: Manivannan Sadhasivam Signed-off-by: Palash Kambar Reviewed-by: Bart Van Assche Link: https://patch.msgid.link/20260423102023.3779489-3-palash.kambar@oss.qualcomm.com Signed-off-by: Martin K. Petersen commit e72323f3b09f9c890fa93a74197bbc290d39d981 Author: Palash Kambar Date: Thu Apr 23 15:50:22 2026 +0530 scsi: ufs: core: Configure only active lanes during link The number of connected lanes detected during UFS link startup can be fewer than the lanes specified in the device tree. The current driver logic attempts to configure all lanes defined in the device tree, regardless of their actual availability. This mismatch may cause failures during power mode changes. Hence, Add a check during link startup to ensure that only the lanes actually discovered are considered valid. If a mismatch is detected, fail the initialization early, preventing the driver from entering an unsupported configuration that could cause power mode transition failures. Reviewed-by: Bart Van Assche Reviewed-by: Shawn Lin Reviewed-by: Manivannan Sadhasivam Signed-off-by: Palash Kambar Link: https://patch.msgid.link/20260423102023.3779489-2-palash.kambar@oss.qualcomm.com Signed-off-by: Martin K. Petersen commit aa3b8f56ef27ed72394a752820abdec4608b731c Author: Kumar Meiyappan Date: Thu Apr 16 15:46:50 2026 +0000 scsi: pm8001: Reject non-fatal dump when controller is crashed pm80xx_get_non_fatal_dump() can be called even after the controller has entered a fatal error state. In that case the forensic memory contents are not safe to access for a non-fatal dump request, and attempting to do so can trigger a call trace. Check controller_fatal_error before reading the non-fatal dump buffer and return -EINVAL when the controller is already in a crashed state. This prevents non-fatal dump collection from running in an invalid controller state. Signed-off-by: Kumar Meiyappan Signed-off-by: Sagar Biradar Link: https://patch.msgid.link/20260416154650.415624-1-sagar.biradar@microchip.com Signed-off-by: Martin K. Petersen commit 2a8fbcfb04aa9db189bfa3842d4f586aecd0e631 Author: Kumar Meiyappan Date: Thu Apr 16 15:37:57 2026 +0000 scsi: pm8001: Reject firmware update in fatal error state pm8001_store_update_fw() allows a firmware update request even when the controller has already entered a fatal error state. Firmware update is not valid once the controller is in that state, and attempting it can lead to a call trace. Reject the request early by checking controller_fatal_error, set the firmware status to FAIL_PARAMETERS, and return -EINVAL. Signed-off-by: Kumar Meiyappan Signed-off-by: Sagar Biradar Link: https://patch.msgid.link/20260416153757.414896-1-sagar.biradar@microchip.com Signed-off-by: Martin K. Petersen commit 67b85a88265df19f049241d8c00571a5408f4eeb Author: Yihang Li Date: Sat Apr 25 16:20:56 2026 +0800 scsi: hisi_sas: Add slave_destroy interface for v3 hw WARNING is triggered when executing link reset of remote PHY and rmmod SAS driver simultaneously. Following is the WARNING log: WARNING: CPU: 61 PID: 21818 at drivers/base/core.c:1347 __device_links_no_driver+0xb4/0xc0 Call trace: __device_links_no_driver+0xb4/0xc0 device_links_driver_cleanup+0xb0/0xfc __device_release_driver+0x198/0x23c device_release_driver+0x38/0x50 bus_remove_device+0x130/0x140 device_del+0x184/0x434 __scsi_remove_device+0x118/0x150 scsi_remove_target+0x1bc/0x240 sas_rphy_remove+0x90/0x94 sas_rphy_delete+0x24/0x3c sas_destruct_devices+0x64/0xa0 [libsas] sas_revalidate_domain+0xe4/0x150 [libsas] process_one_work+0x1e0/0x46c worker_thread+0x15c/0x464 kthread+0x160/0x170 ret_from_fork+0x10/0x20 ---[ end trace 71e059eb58f85d4a ]--- During SAS phy up, link->status is set to DL_STATE_AVAILABLE in device_links_driver_bound, then this setting influences __device_links_no_driver() before driver rmmod and caused WARNING. Add the slave_destroy interface to make sure link is removed after flush workque. Fixes: 16fd4a7c5917 ("scsi: hisi_sas: Add device link between SCSI devices and hisi_hba") Signed-off-by: Yihang Li Link: https://patch.msgid.link/20260425082056.2749910-1-liyihang9@huawei.com Signed-off-by: Martin K. Petersen commit 2cc8a6cf8a801065b68550d5af33f62999ce15f0 Author: Uwe Kleine-König (The Capable Hub) Date: Mon Apr 27 19:45:46 2026 +0200 scsi: mvsas: Don't emit __LINE__ in debug messages __LINE__ changes quite easily for cleanup commits. So when checking if a cleanup patch introduces changes to the resulting binary each usage of __LINE__ is source of annoyance. So instead of __FILE__ and __LINE__ emit __func__ to give at least some more indication about where the messages originates from than __FILE__ alone; with that and the actual message the situation should be clear enough. While at it reduce duplication by implementing mv_dprintk() using mv_printk(). Signed-off-by: Uwe Kleine-König (The Capable Hub) Link: https://patch.msgid.link/20260427174545.2014499-2-u.kleine-koenig@baylibre.com Signed-off-by: Martin K. Petersen commit 250ba648f42d571e08e0bd95fa32953e7577001d Author: Wang Yan Date: Mon May 11 17:30:30 2026 +0800 scsi: libiscsi: Fix spelling and format errors Fix two issues in libiscsi.c: - Correct typo "numer" to "number" in iscsi_session_setup() comment - Fix format string "seconds\n." to "seconds.\n" in recv timeout warning Signed-off-by: Wang Yan Reviewed-by: Mike Christie Reviewed-by: Chris Leech Link: https://patch.msgid.link/20260511093030.63542-1-wangyan01@kylinos.cn Signed-off-by: Martin K. Petersen commit 53f5cce2efc7af85a15ca224c660c397332f19e1 Author: Wang Zihan Date: Sat May 2 14:07:03 2026 +0800 scsi: st: Fix typo in documentation Correct "form" to "from" in drive buffers description. Signed-off-by: Wang Zihan Link: https://patch.msgid.link/tencent_818C822F215676B9B14011B88848609BD309@qq.com Signed-off-by: Martin K. Petersen commit 1039939c52f27667c819537ce5ca231805ca40b8 Author: Marco Crivellari Date: Thu May 7 16:34:10 2026 +0200 scsi: scsi_transport_srp: Move long delayed work to system_dfl_long_wq Currently the code enqueue work items using {queue|mod}_delayed_work(), using system_long_wq. This workqueue should be used when long works are expected and it is a per-cpu workqueue. The function(s) end up calling __queue_delayed_work(), which set a global timer that could fire anywhere, enqueuing the work where the timer fired. Unbound works could benefit from scheduler task placement, to optimize performance and power consumption. Long work shouldn't stick to a single CPU. Recently, a new unbound workqueue specific for long running work has been added:     c116737e972e ("workqueue: Add system_dfl_long_wq for long unbound works") Since the workqueue work doesn't rely on per-cpu variables, there is no obvious reason that justify the use of a per-cpu workqueue. So change system_long_wq with system_dfl_long_wq so that the work may benefit from scheduler task placement. Signed-off-by: Marco Crivellari Reviewed-by: Bart Van Assche Link: https://patch.msgid.link/20260507143410.337267-1-marco.crivellari@suse.com Signed-off-by: Martin K. Petersen commit 73322071418ec3ad5e4d9cdf783890d7f2ae9777 Author: Md Shofiqul Islam Date: Wed May 6 03:49:48 2026 +0300 scsi: storvsc: Replace symbolic permissions with octal Symbolic permissions like S_IRUGO and S_IWUSR are not preferred by checkpatch. Replace with their octal equivalents: - S_IRUGO|S_IWUSR -> 0644 - S_IRUGO -> 0444 Signed-off-by: Md Shofiqul Islam Reviewed-by: Long Li Link: https://patch.msgid.link/20260506004948.2172-1-shofiqtest@gmail.com Signed-off-by: Martin K. Petersen commit 036218473a8467493860df84602a7825b71385af Author: Md Shofiqul Islam Date: Wed May 6 12:45:04 2026 +0300 scsi: core: scsi_scan: Fix typo in comment Fix spelling mistake in comment: - initialze -> initialize Signed-off-by: Md Shofiqul Islam Reviewed-by: Bart Van Assche Link: https://patch.msgid.link/20260506094504.2235-1-shofiqtest@gmail.com Signed-off-by: Martin K. Petersen commit 8ef4c72dbbfda41b8f83a9b5a275feaf4a30ea21 Author: Uwe Kleine-König (The Capable Hub) Date: Tue May 5 10:28:53 2026 +0200 scsi: ufs: ufshcd-pci: Use PCI_VDEVICE and named initializers for pci array The pci_device_id array uses a mixture of ways to initialize ufshcd_pci_tbl[]. List initializers are hard to read unless you memoized the order of the struct members. Use the PCI_VDEVICE for all entries and a named initializer for .driver_data. This allows to idiomatically assign the members without using zeros to fill the fields before .driver_data (either explicitly or hidding in PCI_VDEVICE()). There are no changes to the compiled result of the array; verified with builds for x86 and arm64. Signed-off-by: Uwe Kleine-König (The Capable Hub) Reviewed-by: Adrian Hunter Link: https://patch.msgid.link/6cac1c22381f7026edad9854d70833381d14929a.1777968942.git.u.kleine-koenig@baylibre.com Signed-off-by: Martin K. Petersen commit 2a18c57560f454e2e63373ecf00e4a6fb0265600 Author: Uwe Kleine-König (The Capable Hub) Date: Tue May 5 10:28:52 2026 +0200 scsi: ufs: tc-dwc-g210-pci: Simplify initialization of pci_device_id array A list initializer is hard to parse for a human if they don't see or know the order of the members of struct pci_device_id. So use the PCI_VDEVICE macro which is much more idiomatic and skip assigning explicit zeros. There are no changes to the compiled result of the array; verified with builds for x86 and arm64. Signed-off-by: Uwe Kleine-König (The Capable Hub) Link: https://patch.msgid.link/ff015bf46ad395702f40c85c8359fd24957e7224.1777968942.git.u.kleine-koenig@baylibre.com Signed-off-by: Martin K. Petersen commit 195254adeddc30c5a892a1cc9528a6ed5e841224 Author: Evgenii Burenchev Date: Wed Apr 29 12:52:12 2026 +0300 scsi: snic: vnic_dev: Remove dead store in vnic_dev_discover_res() The assignment 'len = count' for RES_TYPE_INTR_PBA_LEGACY, RES_TYPE_DEVCMD, and RES_TYPE_DEVCMD2 cases is never used. Drop the unused assignments to fix the following static analyzer warning. No functional change. Found by Linux Verification Center (linuxtesting.org) with SVACE. Signed-off-by: Evgenii Burenchev Acked-by: Narsimhulu Musini Link: https://patch.msgid.link/20260429095212.11251-1-evg28bur@yandex.ru Signed-off-by: Martin K. Petersen commit 949af038b6d2a41c54502179c5a8ddfb3d57dd17 Author: Can Guo Date: Fri Apr 24 08:14:20 2026 -0700 scsi: ufs: core: Add support to retrieve and store TX Equalization settings Add support for UFS v5.0 JEDEC attributes qTxEQGnSettings and wTxEQGnSettingsExt to enable persistent storage and retrieval of optimal TX Equalization settings. This provides a fast-path for TX Equalization by reusing previously stored optimal settings, avoiding TX Equalization Training (EQTR) procedures during subsequent Power Mode changes. When no valid TX Equalization settings are found, fall back to full TX EQTR procedures and optionally save the results for future use. The validity of one set of TX Equalization settings is indicated by Bit[15] in wTxEQGnSettingsExt. Signed-off-by: Can Guo Reviewed-by: Peter Wang Reviewed-by: Bean Huo Reviewed-by: Bart Van Assche Link: https://patch.msgid.link/20260424151420.111675-3-can.guo@oss.qualcomm.com Signed-off-by: Martin K. Petersen commit f2cb7c01f48caffb38e12481949dea4f9beb65dc Author: Can Guo Date: Fri Apr 24 08:14:19 2026 -0700 scsi: ufs: core: Introduce function ufshcd_query_attr_qword() Introduce a new generic function ufshcd_query_attr_qword() to handle quad-word (64-bit) UFS attribute operations. This consolidates the handling of 64-bit attributes which was previously scattered across multiple specialized functions. Reviewed-by: Peter Wang Signed-off-by: Can Guo Reviewed-by: Bean Huo Reviewed-by: Bart Van Assche Link: https://patch.msgid.link/20260424151420.111675-2-can.guo@oss.qualcomm.com Signed-off-by: Martin K. Petersen commit 50349bd5d0ab6d6f7e106a6cb1cdbf2bcfb75e08 Author: Sowon Na Date: Fri Apr 17 17:44:51 2026 +0530 scsi: ufs: exynos: Add support for ExynosAutov920 SoC Add a dedicated compatible and drv_data with associated hooks for ExynosAutov920 SoC. ExynosAutov920 has a different mask of UFS sharability from ExynosAutov9, so add related changes for the same. Signed-off-by: Sowon Na Signed-off-by: Alim Akhtar [Alim: fixed unintended changes, other fixes] Link: https://patch.msgid.link/20260417121452.827054-4-alim.akhtar@samsung.com Signed-off-by: Martin K. Petersen commit 45c9dee6d6531bf1d0e0dbf577fb59850e34f6d0 Author: Sowon Na Date: Fri Apr 17 17:44:50 2026 +0530 scsi: ufs: exynos: dt-bindings: Add ExynosAutov920 compatible string Add samsung,exynosautov920-ufs compatible for ExynosAutov920 SoC. Acked-by: Krzysztof Kozlowski Signed-off-by: Sowon Na Signed-off-by: Alim Akhtar Reviewed-by: Alim Akhtar Link: https://patch.msgid.link/20260417121452.827054-3-alim.akhtar@samsung.com Signed-off-by: Martin K. Petersen commit 7030e16247dc9fb044371141c513581067c8e574 Author: Deepti Jaggi Date: Mon Apr 27 09:31:15 2026 +0800 scsi: ufs: dt-bindings: Add compatible for SA8797P UFS Host Controller SA8797P is the automotive variant of the Nord SoC. Like SA8255P, its platform firmware implements an SCMI server that manages UFS resources such as the PHY, clocks, regulators and resets via the SCMI power protocol. As a result, the OS-visible DT only describes the controller's MMIO, interrupt, IOMMU and power-domain interfaces, making SA8255P the appropriate fallback compatible. Signed-off-by: Deepti Jaggi Reviewed-by: Manivannan Sadhasivam Signed-off-by: Shawn Guo Reviewed-by: Krzysztof Kozlowski Link: https://patch.msgid.link/20260427013115.231731-3-shengchao.guo@oss.qualcomm.com Signed-off-by: Martin K. Petersen commit c9ee94c7e2fb65a433b505d7bcf4c2b6ee81b86c Author: Shawn Guo Date: Mon Apr 27 09:31:14 2026 +0800 scsi: ufs: dt-bindings: Add compatible for Nord UFS Host Controller Document UFS Host Controller on Qualcomm Nord SoC. Like the Eliza SoC, Nord has a multi-queue command (MCQ) register range in addition to the standard one, making both reg entries required. Reviewed-by: Krzysztof Kozlowski Reviewed-by: Manivannan Sadhasivam Signed-off-by: Shawn Guo Link: https://patch.msgid.link/20260427013115.231731-2-shengchao.guo@oss.qualcomm.com Signed-off-by: Martin K. Petersen commit 7787588db949a6caa7ca40bd6b67ecb75b68c932 Author: Sasha Levin Date: Sat Apr 25 20:03:30 2026 -0400 scsi: ncr53c8xx: Drop CONFIG_ prefix from Zalon-specific compiler defines kconfiglint reports: X001: CONFIG_NCR53C8XX_PREFETCH referenced in Makefile but not defined in any Kconfig X001: CONFIG_SCSI_NCR53C8XX_NO_WORD_TRANSFERS referenced in Makefile but not defined in any Kconfig The ncr53c8xx SCSI driver uses two preprocessor defines that carry the CONFIG_ prefix but are not defined in any Kconfig file: -DCONFIG_NCR53C8XX_PREFETCH -DCONFIG_SCSI_NCR53C8XX_NO_WORD_TRANSFERS These are hardcoded compiler flags in drivers/scsi/Makefile, passed only when CONFIG_SCSI_ZALON is enabled: ncr53c8xx-flags-$(CONFIG_SCSI_ZALON) \ := -DCONFIG_NCR53C8XX_PREFETCH -DSCSI_NCR_BIG_ENDIAN \ -DCONFIG_SCSI_NCR53C8XX_NO_WORD_TRANSFERS The source files ncr53c8xx.c and ncr53c8xx.h check these defines with #ifdef to enable script prefetching and disable 16-bit word transfers respectively — both specific to the PA-RISC Zalon SCSI controller's big-endian bus requirements. These defines have been present since the initial git import in commit 1da177e4c3f4 ("Linux-2.6.12-rc2"). They predate the modern Kconfig convention that CONFIG_ prefixed symbols should always originate from Kconfig. The third define on the same line, SCSI_NCR_BIG_ENDIAN, already correctly omits the CONFIG_ prefix. The CONFIG_ prefix is misleading: these are not user-configurable options and do not appear in any Kconfig menu. They are unconditionally enabled for all Zalon builds. Remove the CONFIG_ prefix from both symbols — renaming them to NCR53C8XX_PREFETCH and SCSI_NCR53C8XX_NO_WORD_TRANSFERS — to match the convention used by SCSI_NCR_BIG_ENDIAN on the same line and to avoid confusion with actual Kconfig-managed symbols. No functional change. Assisted-by: Claude:claude-opus-4-6 kconfiglint Signed-off-by: Sasha Levin Link: https://patch.msgid.link/20260426000330.56137-1-sashal@kernel.org Signed-off-by: Martin K. Petersen commit c7233b3d99db9760daf07c4e95daa9675c6c0cba Author: Arnd Bergmann Date: Wed Apr 29 17:15:37 2026 +0200 scsi: advansys: Drop ISA_DMA_API remnants Support for ISA bus mastering was removed a few years ago, and the VLB mode does not use the ISA DMA API, so drop the dependency and the header inclusion. Fixes: 9b4c8eaa68d0 ("advansys: remove ISA support") Signed-off-by: Arnd Bergmann Reviewed-by: Johannes Thumshirn Link: https://patch.msgid.link/20260429151623.3899875-1-arnd@kernel.org Signed-off-by: Martin K. Petersen commit 0bdf7d7ee75da076eabcfa9b5fadd0ed0524df43 Author: Krzysztof Kozlowski Date: Mon Apr 27 09:00:49 2026 +0200 scsi: ufs: qcom: Unify user-visible "Qualcomm" name Various names for Qualcomm as a company are used in user-visible config options: QCOM, Qualcomm and Qualcomm Technologies. Switch to unified "Qualcomm" so it will be easier for users to identify the options when for example running menuconfig. Signed-off-by: Krzysztof Kozlowski Reviewed-by: Bart Van Assche Link: https://patch.msgid.link/20260427070048.18017-2-krzysztof.kozlowski@oss.qualcomm.com Signed-off-by: Martin K. Petersen