[GIT PULL] SCSI updates for the 6.14+ merge window

From: James Bottomley
Date: Wed Mar 26 2025 - 15:11:45 EST


Updates to the usual drivers (scsi_debug, ufs, lpfc, st, fnic, mpi3mr,
mpt3sas) and the removal of cxlflash. The only non-trivial core change
is an addition to unit attention handling to recognize UAs for power
on/reset and new media so the tape driver can use it.

There's a merge conflict in scsi_debug.c between the hrtimer work
outside of our tree and the simplify command handling in our tree. To
fix this you need to know the hrtimer setup moved to
sdebug_init_cmd_priv() in the latter change.

The patch is available here:

git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git scsi-misc

The short changelog is:

Andrew Donnellan (1):
scsi: cxlflash: Remove driver

Andrew Kreimer (1):
scsi: target: iscsi: Fix typos

Arnd Bergmann (2):
scsi: hisi_sas: Remove incorrect ACPI_PTR annotations
scsi: scsi_debug: Fix uninitialized variable use

Avri Altman (1):
scsi: ufs: core: Critical health condition

Bao D. Nguyen (1):
scsi: ufs: qcom: Remove dead code in ufs_qcom_cfg_timers()

Bart Van Assche (7):
scsi: scsi_debug: Do not sleep in atomic sections
scsi: scsi_debug: Simplify command handling
scsi: scsi_debug: Remove a reference to in_use_bm
scsi: mpt3sas: Fix a locking bug in an error path
scsi: mpi3mr: Fix locking in an error path
scsi: ufs: Constify the third pwr_change_notify() argument
scsi: usb: Rename the RESERVE and RELEASE constants

Can Guo (6):
scsi: ufs: core: Toggle Write Booster during clock scaling base on gear speed
scsi: ufs: core: Enable multi-level gear scaling
scsi: ufs: qcom: Implement the freq_to_gear_speed() vop
scsi: ufs: core: Add a vop to map clock frequency to gear speed
scsi: ufs: qcom: Pass target_freq to clk scale pre and post change
scsi: ufs: core: Pass target_freq to clk_scale_notify() vop

Chandrakanth Patil (1):
scsi: mpi3mr: Task Abort EH Support

Chaohai Chen (4):
scsi: core: Use a switch statement when attaching VPD pages
scsi: core: Fix missing lock protection
scsi: target: spc: Fix loop traversal in spc_rsoc_get_descr()
scsi: target: spc: Fix RSOC parameter data header size

Charles Han (1):
scsi: isci: Fix double word in comments

Chen Ni (1):
scsi: fnic: Remove redundant flush_workqueue() calls

Christophe JAILLET (1):
scsi: Constify struct pci_error_handlers

Colin Ian King (4):
scsi: lpfc: Fix spelling mistake 'Toplogy' -> 'Topology'
scsi: ufs: rockchip: Fix spelling mistake 'susped' -> 'suspend'
scsi: mpt3sas: Fix spelling mistake "receveid" -> "received"
scsi: mpi3mr: Fix spelling mistake "skiping" -> "skipping"

Damien Le Moal (1):
scsi: scsi_error: Add comments to scsi_check_sense()

Dan Carpenter (1):
scsi: mpt3sas: Fix buffer overflow in mpt3sas_send_mctp_passthru_req()

Dr. David Alan Gilbert (5):
scsi: isci: Make most module parameters static
scsi: megaraid_sas: Make most module parameters static
scsi: mpt3sas: Remove unused config functions
scsi: message: fusion: Remove unused mptscsih_target_reset()
scsi: mvsas: Remove unused mvs_phys_reset()

Easwar Hariharan (1):
scsi: lpfc: Convert timeouts to secs_to_jiffies()

Eric Biggers (1):
scsi: iscsi_tcp: Switch to using the crc32c library

Ewan D. Milne (1):
scsi: lpfc: Restore clearing of NLP_UNREG_INP in ndlp->nlp_flag

Geert Uytterhoeven (1):
scsi: ufs: dt-bindings: renesas,ufs: Add calibration data

Guixin Liu (1):
scsi: target: tcm_loop: Fix wrong abort tag

Jiapeng Chong (1):
scsi: ufs: rockchip: Simplify bool conversion

John Garry (1):
scsi: scsi_debug: Remove sdebug_device_access_info

Justin Tee (6):
scsi: lpfc: Copyright updates for 14.4.0.8 patches
scsi: lpfc: Update lpfc version to 14.4.0.8
scsi: lpfc: Handle duplicate D_IDs in ndlp search-by D_ID routine
scsi: lpfc: Ignore ndlp rport mismatch in dev_loss_tmo callbk
scsi: lpfc: Free phba irq in lpfc_sli4_enable_msi() when pci_irq_vector() fails
scsi: lpfc: Reduce log message generation during ELS ring clean up

Kai Mäkisara (14):
scsi: st: Tighten the page format heuristics with MODE SELECT
scsi: st: ERASE does not change tape location
scsi: st: Fix array overflow in st_setup()
scsi: scsi_debug: Add support for partitioning the tape
scsi: scsi_debug: Reset tape setting at device reset
scsi: scsi_debug: Add compression mode page for tapes
scsi: scsi_debug: Add read support and update locate for tapes
scsi: scsi_debug: Add write support with block lengths and 4 bytes of data
scsi: scsi_debug: Add READ BLOCK LIMITS and modify LOAD for tapes
scsi: scsi_debug: First fixes for tapes
scsi: st: Add sysfs file position_lost_in_reset
scsi: st: Modify st.c to use the new scsi_error counters
scsi: core: Add counters for New Media and Power On/Reset UNIT ATTENTIONs
scsi: st: Restore some drive settings after reset

Karan Tilak Kumar (5):
scsi: fnic: Remove unnecessary spinlock locking and unlocking
scsi: fnic: Replace fnic->lock_flags with local flags
scsi: fnic: Replace use of sizeof with standard usage
scsi: fnic: Fix indentation and remove unnecessary parenthesis
scsi: fnic: Remove unnecessary debug print

Nicolas Bouchinet (1):
scsi: logging: Fix scsi_logging_level bounds

Paul Menzel (1):
scsi: mpt3sas: Reduce log level of ignore_delay_remove message to KERN_INFO

Peter Wang (1):
scsi: ufs: core: Add hba parameter to trace events

Ram Kumar Dwivedi (1):
scsi: ufs: qcom: Enable UFS Shared ICE Feature

Ranjan Kumar (8):
scsi: mpi3mr: Update driver version to 8.13.0.5.50
scsi: mpi3mr: Check admin reply queue from Watchdog
scsi: mpi3mr: Update timestamp only for supervisor IOCs
scsi: mpi3mr: Update MPI Headers to revision 35
scsi: mpi3mr: Update driver version to 8.12.1.0.50
scsi: mpi3mr: Synchronous access b/w reset and tm thread for reply queue
scsi: mpi3mr: Support for Segmented Hardware Trace buffer
scsi: mpi3mr: Avoid reply queue full condition

Roman Kisel (1):
scsi: storvsc: Don't report the host packet status as the hv status

Shawn Lin (5):
scsi: ufs: rockchip: Fix devm_clk_bulk_get_all_enabled() return value
scsi: arm64: dts: rockchip: Add UFS support for RK3576 SoC
scsi: ufs: rockchip: Initial support for UFS
scsi: ufs: core: Export ufshcd_dme_reset() and ufshcd_dme_enable()
scsi: ufs: dt-bindings: Document Rockchip UFS host controller

Shivasharan S (5):
scsi: mpt3sas: update driver version to 52.100.00.00
scsi: mpt3sas: Send a diag reset if target reset fails
scsi: mpt3sas: Report driver capability as part of IOCINFO command
scsi: mpt3sas: Add support for MCTP Passthrough commands
scsi: mpt3sas: Update MPI headers to 02.00.62 version

Thorsten Blum (4):
scsi: fnic: Remove unnecessary NUL-terminations
scsi: target: Replace deprecated strncpy() with strscpy()
scsi: hpsa: Replace deprecated strncpy() with strscpy_pad()
scsi: hpsa: Remove deprecated and unnecessary strncpy()

Xingui Yang (1):
scsi: hisi_sas: Fixed failure to issue vendor specific commands

Yoshihiro Shimoda (6):
scsi: ufs: renesas: Add initialization code for R-Car S4-8 ES1.2
scsi: ufs: renesas: Add reusable functions
scsi: ufs: renesas: Refactor 0x10ad/0x10af PHY settings
scsi: ufs: renesas: Remove register control helper function
scsi: ufs: renesas: Add register read to remove save/set/restore
scsi: ufs: renesas: Replace init data by init code

Yuichiro Tsuji (1):
scsi: qla2xxx: Fix typos in a comment

Ziqi Chen (2):
scsi: ABI: sysfs-driver-ufs: Add missing UFS sysfs attributes
scsi: ufs: core: Check if scaling up is required when disable clkscale

and the diffstat:

Documentation/ABI/testing/sysfs-driver-ufs | 45 +
Documentation/arch/powerpc/cxlflash.rst | 433 ---
Documentation/arch/powerpc/index.rst | 1 -
.../devicetree/bindings/ufs/renesas,ufs.yaml | 12 +
.../bindings/ufs/rockchip,rk3576-ufshc.yaml | 105 +
Documentation/scsi/st.rst | 5 +
Documentation/userspace-api/ioctl/ioctl-number.rst | 2 +-
MAINTAINERS | 9 -
arch/arm64/boot/dts/rockchip/rk3576.dtsi | 24 +
drivers/message/fusion/mptscsih.c | 64 +-
drivers/message/fusion/mptscsih.h | 1 -
drivers/scsi/Kconfig | 3 +-
drivers/scsi/Makefile | 1 -
drivers/scsi/aacraid/aachba.c | 4 +-
drivers/scsi/aacraid/linit.c | 2 +-
drivers/scsi/arm/acornscsi.c | 2 +-
drivers/scsi/be2iscsi/be_main.c | 2 +-
drivers/scsi/bfa/bfad.c | 2 +-
drivers/scsi/csiostor/csio_init.c | 2 +-
drivers/scsi/cxlflash/Kconfig | 15 -
drivers/scsi/cxlflash/Makefile | 5 -
drivers/scsi/cxlflash/backend.h | 48 -
drivers/scsi/cxlflash/common.h | 340 --
drivers/scsi/cxlflash/cxl_hw.c | 177 -
drivers/scsi/cxlflash/lunmgt.c | 278 --
drivers/scsi/cxlflash/main.c | 3970 --------------------
drivers/scsi/cxlflash/main.h | 129 -
drivers/scsi/cxlflash/ocxl_hw.c | 1399 -------
drivers/scsi/cxlflash/ocxl_hw.h | 72 -
drivers/scsi/cxlflash/sislite.h | 560 ---
drivers/scsi/cxlflash/superpipe.c | 2218 -----------
drivers/scsi/cxlflash/superpipe.h | 150 -
drivers/scsi/cxlflash/vlun.c | 1336 -------
drivers/scsi/cxlflash/vlun.h | 82 -
drivers/scsi/elx/efct/efct_driver.c | 2 +-
drivers/scsi/fnic/fdls_disc.c | 57 +-
drivers/scsi/fnic/fnic_main.c | 5 +-
drivers/scsi/hisi_sas/hisi_sas.h | 3 +-
drivers/scsi/hisi_sas/hisi_sas_main.c | 28 +-
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 2 +-
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 6 +-
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 4 +-
drivers/scsi/hpsa.c | 19 +-
drivers/scsi/ips.c | 8 +-
drivers/scsi/isci/init.c | 14 +-
drivers/scsi/isci/isci.h | 7 -
drivers/scsi/isci/remote_device.h | 2 +-
drivers/scsi/iscsi_tcp.c | 60 +-
drivers/scsi/iscsi_tcp.h | 4 +-
drivers/scsi/libiscsi_tcp.c | 91 +-
drivers/scsi/lpfc/lpfc.h | 3 +-
drivers/scsi/lpfc/lpfc_els.c | 23 +-
drivers/scsi/lpfc/lpfc_hbadisc.c | 35 +-
drivers/scsi/lpfc/lpfc_init.c | 14 +-
drivers/scsi/lpfc/lpfc_scsi.c | 12 +-
drivers/scsi/lpfc/lpfc_sli.c | 43 +-
drivers/scsi/lpfc/lpfc_version.h | 6 +-
drivers/scsi/lpfc/lpfc_vport.c | 2 +-
drivers/scsi/megaraid.c | 10 +-
drivers/scsi/megaraid/megaraid_mbox.c | 10 +-
drivers/scsi/megaraid/megaraid_sas_base.c | 10 +-
drivers/scsi/mpi3mr/mpi/mpi30_cnfg.h | 4 +
drivers/scsi/mpi3mr/mpi/mpi30_image.h | 8 +
drivers/scsi/mpi3mr/mpi/mpi30_init.h | 11 +-
drivers/scsi/mpi3mr/mpi/mpi30_ioc.h | 21 +
drivers/scsi/mpi3mr/mpi/mpi30_tool.h | 1 +
drivers/scsi/mpi3mr/mpi/mpi30_transport.h | 20 +-
drivers/scsi/mpi3mr/mpi3mr.h | 34 +-
drivers/scsi/mpi3mr/mpi3mr_app.c | 129 +-
drivers/scsi/mpi3mr/mpi3mr_fw.c | 159 +-
drivers/scsi/mpi3mr/mpi3mr_os.c | 101 +-
drivers/scsi/mpt3sas/mpi/mpi2.h | 9 +-
drivers/scsi/mpt3sas/mpi/mpi2_cnfg.h | 5 +
drivers/scsi/mpt3sas/mpi/mpi2_ioc.h | 54 +
drivers/scsi/mpt3sas/mpt3sas_base.c | 23 +-
drivers/scsi/mpt3sas/mpt3sas_base.h | 10 +-
drivers/scsi/mpt3sas/mpt3sas_config.c | 79 -
drivers/scsi/mpt3sas/mpt3sas_ctl.c | 279 +-
drivers/scsi/mpt3sas/mpt3sas_ctl.h | 49 +-
drivers/scsi/mpt3sas/mpt3sas_scsih.c | 4 +-
drivers/scsi/mvsas/mv_sas.c | 10 -
drivers/scsi/mvsas/mv_sas.h | 1 -
drivers/scsi/qedi/qedi_main.c | 2 +-
drivers/scsi/qla2xxx/qla_sup.c | 4 +-
drivers/scsi/scsi.c | 28 +-
drivers/scsi/scsi_debug.c | 928 ++++-
drivers/scsi/scsi_error.c | 19 +
drivers/scsi/scsi_scan.c | 5 +-
drivers/scsi/scsi_sysctl.c | 4 +-
drivers/scsi/st.c | 80 +-
drivers/scsi/st.h | 6 +
drivers/scsi/storvsc_drv.c | 4 +-
drivers/target/iscsi/iscsi_target_nego.c | 6 +-
drivers/target/loopback/tcm_loop.c | 5 +-
drivers/target/target_core_configfs.c | 6 +-
drivers/target/target_core_device.c | 8 +-
drivers/target/target_core_pr.c | 6 +-
drivers/target/target_core_spc.c | 36 +-
drivers/ufs/core/ufs-sysfs.c | 10 +
drivers/ufs/core/ufs_trace.h | 135 +-
drivers/ufs/core/ufshcd-priv.h | 21 +-
drivers/ufs/core/ufshcd.c | 148 +-
drivers/ufs/host/Kconfig | 12 +
drivers/ufs/host/Makefile | 1 +
drivers/ufs/host/ufs-exynos.c | 10 +-
drivers/ufs/host/ufs-exynos.h | 2 +-
drivers/ufs/host/ufs-hisi.c | 6 +-
drivers/ufs/host/ufs-mediatek.c | 11 +-
drivers/ufs/host/ufs-qcom.c | 126 +-
drivers/ufs/host/ufs-qcom.h | 39 +-
drivers/ufs/host/ufs-renesas.c | 723 ++--
drivers/ufs/host/ufs-rockchip.c | 354 ++
drivers/ufs/host/ufs-rockchip.h | 90 +
drivers/ufs/host/ufs-sprd.c | 6 +-
drivers/ufs/host/ufshcd-pci.c | 2 +-
drivers/usb/gadget/function/f_mass_storage.c | 4 +-
drivers/usb/storage/debug.c | 4 +-
include/scsi/libiscsi_tcp.h | 16 +-
include/scsi/scsi_device.h | 9 +
include/scsi/scsi_proto.h | 4 +-
include/trace/events/scsi.h | 4 +-
include/trace/events/target.h | 4 +-
include/uapi/scsi/cxlflash_ioctl.h | 276 --
include/ufs/ufs.h | 1 +
include/ufs/ufshcd.h | 22 +-
.../filesystems/statmount/statmount_test.c | 13 +-
126 files changed, 3510 insertions(+), 12679 deletions(-)
delete mode 100644 Documentation/arch/powerpc/cxlflash.rst
create mode 100644 Documentation/devicetree/bindings/ufs/rockchip,rk3576-ufshc.yaml
delete mode 100644 drivers/scsi/cxlflash/Kconfig
delete mode 100644 drivers/scsi/cxlflash/Makefile
delete mode 100644 drivers/scsi/cxlflash/backend.h
delete mode 100644 drivers/scsi/cxlflash/common.h
delete mode 100644 drivers/scsi/cxlflash/cxl_hw.c
delete mode 100644 drivers/scsi/cxlflash/lunmgt.c
delete mode 100644 drivers/scsi/cxlflash/main.c
delete mode 100644 drivers/scsi/cxlflash/main.h
delete mode 100644 drivers/scsi/cxlflash/ocxl_hw.c
delete mode 100644 drivers/scsi/cxlflash/ocxl_hw.h
delete mode 100644 drivers/scsi/cxlflash/sislite.h
delete mode 100644 drivers/scsi/cxlflash/superpipe.c
delete mode 100644 drivers/scsi/cxlflash/superpipe.h
delete mode 100644 drivers/scsi/cxlflash/vlun.c
delete mode 100644 drivers/scsi/cxlflash/vlun.h
create mode 100644 drivers/ufs/host/ufs-rockchip.c
create mode 100644 drivers/ufs/host/ufs-rockchip.h
delete mode 100644 include/uapi/scsi/cxlflash_ioctl.h