[GIT PULL] SCSI updates for the 6.19+ merge window
From: James Bottomley
Date: Thu Feb 12 2026 - 14:35:33 EST
Usual driver updates (qla2xxx, mpi3mr, mpt3sas, ufs) plus assorted
cleanups and fixes. The biggest core change is the massive code motion
in the sd driver to remove forward declarations and the most
significant change is to enumify the queuecommand return.
The patch is available here:
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git scsi-misc
The short changelog is:
Anil Gurumurthy (5):
scsi: qla2xxx: Fix bsg_done() causing double free
scsi: qla2xxx: Query FW again before proceeding with login
scsi: qla2xxx: Validate sp before freeing associated memory
scsi: qla2xxx: Free sp in error path to fix system crash
scsi: qla2xxx: Delay module unload while fabric scan in progress
Arnd Bergmann (2):
scsi: buslogic: Reduce stack usage
scsi: ufs: host: mediatek: Require CONFIG_PM
Bart Van Assche (17):
scsi: ufs: core: Use a host-wide tagset in SDB mode
scsi: Change the return type of the .queuecommand() callback
scsi: qla2xxx: Declare qla2xxx_mqueuecommand() static
scsi: megaraid_sas: Return SCSI_MLQUEUE_HOST_BUSY instead of 1
scsi: megaraid: Return SCSI_MLQUEUE_HOST_BUSY instead of 1
scsi: aha152x: Return SCSI_MLQUEUE_HOST_BUSY instead of 0x2003
scsi: sd: Do not split error messages
scsi: sd: Move the sd_fops definition
scsi: sd: Move the scsi_disk_release() function definition
scsi: sd: Move the sd_config_discard() function definition
scsi: sd: Move the sd_remove() function definition
scsi: core: Revert "Fix a regression triggered by scsi_host_busy()"
scsi: ufs: core: Only call scsi_host_busy() after the SCSI host has been added
scsi: ufs: core: Improve the documentation of UFS data frames
scsi: mpt3sas: Simplify the workqueue allocation code
scsi: mpi3mr: Simplify the workqueue allocation code
scsi: core: Introduce an enumeration type for the SCSI_MLQUEUE constants
Christophe JAILLET (1):
scsi: target: Constify struct configfs_item_operations and configfs_group_operations
Colin Ian King (1):
scsi: csiostor: Fix dereference of null pointer rn
Guixin Liu (1):
scsi: mpi3mr: Make driver probing asynchronous
Gulam Mohamed (1):
scsi: target: core: Add emulation for REPORT IDENTIFYING INFORMATION
Himanshu Madhani (1):
scsi: qla2xxx: Add Speed in SFP print information
John Garry (3):
scsi: scsi_debug: Drop NULL scsi_cmnd check in sdebug_q_cmd_complete()
scsi: scsi_debug: Stop using READ/WRITE_ONCE() when accessing sdebug_defer.defer_t
scsi: scsi_debug: Stop printing extra function name in debug logs
Justin Tee (1):
scsi: lpfc: Update lpfc version to 14.4.0.13
Keita Morisaki (1):
scsi: ufs: mediatek: Fix page faults in ufs_mtk_clk_scale() trace event
Keoseong Park (1):
scsi: ufs: core: Handle sentinel value for dHIDAvailableSize
Manish Rangankar (4):
scsi: qla2xxx: Add bsg interface to support firmware img validation
scsi: qla2xxx: Validate MCU signature before executing MBC 03h
scsi: qla2xxx: Add load flash firmware mailbox support for 28xxx
scsi: qla2xxx: Add support for 64G SFP speed
Marco Crivellari (3):
scsi: qla2xxx: target: Add WQ_PERCPU to alloc_workqueue() users
scsi: qla2xxx: Add WQ_PERCPU to alloc_workqueue() users
scsi: qla4xxx: Add WQ_PERCPU to alloc_workqueue() users
Nilesh Javali (1):
scsi: qla2xxx: Update version to 10.02.10.100-k
Peter Griffin (1):
scsi: ufs: exynos: Call phy_notify_state() from hibern8 callbacks
Ram Kumar Dwivedi (4):
scsi: ufs: ufs-qcom: Add support for firmware-managed resource abstraction
scsi: ufs: core: Enforce minimum PM level for sysfs configuration
scsi: ufs: dt-bindings: Document bindings for SA8255P UFS Host Controller
scsi: MAINTAINERS: Broaden UFS Qualcomm binding file pattern
Ranjan Kumar (13):
scsi: mpi3mr: Driver version update to 8.17.0.3.50
scsi: mpi3mr: Fixed the W=1 compilation warning
scsi: mpi3mr: Record and report controller firmware faults
scsi: mpi3mr: Update MPI Headers to revision 39
scsi: mpi3mr: Use negotiated link rate from DevicePage0
scsi: mpi3mr: Avoid redundant diag-fault resets
scsi: mpi3mr: Rename log data save helper to reflect threaded/BH context
scsi: mpi3mr: Add module parameter to control threaded IRQ polling
scsi: mpt3sas: Fixed the W=1 compilation warning
scsi: mpt3sas: Add configurable command retry limit for slow-to-respond devices
scsi: mpt3sas: Add firmware event requeue support for busy devices
scsi: mpt3sas: Improve device discovery and readiness handling for slow devices
scsi: mpt3sas: Added no_turs flag to device unblock logic
ReBeating (1):
scsi: target: sbp: Potential integer overflow in sbp_make_tpg()
Sarah Catania (2):
scsi: lpfc: Add support for reporting encryption events
scsi: scsi_transport_fc: Introduce encryption group in fc_rport attribute
Sebastian Andrzej Siewior (1):
scsi: efct: Use IRQF_ONESHOT and default primary handler
Shreyas Deodhar (1):
scsi: qla2xxx: Allow recovery for tape devices
Thomas Yen (1):
scsi: ufs: core: Flush exception handling work when RPM level is zero
Uwe Kleine-König (8):
scsi: ufs: core: Convert to SCSI bus methods
scsi: st: Convert to SCSI bus methods
scsi: sr: Convert to SCSI bus methods
scsi: ses: Convert to SCSI bus methods
scsi: sd: Convert to SCSI bus methods
scsi: ch: Convert to SCSI bus methods
scsi: core: sysfs: Make use of bus callbacks
scsi: core: Pass a struct scsi_driver to scsi_{,un}register_driver()
Yury Norov (NVIDIA) (1):
scsi: lpfc: Rework lpfc_sli4_fcf_rr_next_index_get()
Zilin Guan (1):
scsi: smartpqi: Fix memory leak in pqi_report_phys_luns()
vamshi gajjela (1):
scsi: ufs: core: mcq: Use ufshcd_rmwl() instead of open-coding it
And the diffstat:
.../bindings/ufs/qcom,sa8255p-ufshc.yaml | 56 +
Documentation/scsi/scsi_mid_low_api.rst | 3 +-
MAINTAINERS | 2 +-
drivers/ata/libata-scsi.c | 8 +-
drivers/ata/libata.h | 3 +-
drivers/base/transport_class.c | 8 +
drivers/firewire/sbp2.c | 7 +-
drivers/infiniband/ulp/srp/ib_srp.c | 3 +-
drivers/message/fusion/mptfc.c | 7 +-
drivers/message/fusion/mptsas.c | 4 +-
drivers/message/fusion/mptscsih.c | 3 +-
drivers/message/fusion/mptscsih.h | 2 +-
drivers/message/fusion/mptspi.c | 4 +-
drivers/s390/scsi/zfcp_scsi.c | 4 +-
drivers/scsi/3w-9xxx.c | 2 +-
drivers/scsi/3w-sas.c | 8 +-
drivers/scsi/3w-xxxx.c | 2 +-
drivers/scsi/53c700.c | 6 +-
drivers/scsi/BusLogic.c | 8 +-
drivers/scsi/BusLogic.h | 3 +-
drivers/scsi/NCR5380.c | 4 +-
drivers/scsi/a100u2w.c | 2 +-
drivers/scsi/aacraid/linit.c | 4 +-
drivers/scsi/advansys.c | 5 +-
drivers/scsi/aha152x.c | 8 +-
drivers/scsi/aha1542.c | 3 +-
drivers/scsi/aha1740.c | 2 +-
drivers/scsi/aic7xxx/aic79xx_osm.c | 12 +-
drivers/scsi/aic7xxx/aic7xxx_osm.c | 4 +-
drivers/scsi/arcmsr/arcmsr_hba.c | 5 +-
drivers/scsi/arm/acornscsi.c | 2 +-
drivers/scsi/arm/fas216.c | 11 +-
drivers/scsi/arm/fas216.h | 11 +-
drivers/scsi/atp870u.c | 2 +-
drivers/scsi/bfa/bfad_im.c | 5 +-
drivers/scsi/bnx2fc/bnx2fc.h | 3 +-
drivers/scsi/bnx2fc/bnx2fc_io.c | 4 +-
drivers/scsi/ch.c | 18 +-
drivers/scsi/csiostor/csio_scsi.c | 7 +-
drivers/scsi/dc395x.c | 2 +-
drivers/scsi/esas2r/esas2r.h | 3 +-
drivers/scsi/esas2r/esas2r_main.c | 3 +-
drivers/scsi/esp_scsi.c | 2 +-
drivers/scsi/fdomain.c | 3 +-
drivers/scsi/fnic/fnic.h | 3 +-
drivers/scsi/fnic/fnic_scsi.c | 3 +-
drivers/scsi/hosts.c | 5 +-
drivers/scsi/hpsa.c | 6 +-
drivers/scsi/hptiop.c | 2 +-
drivers/scsi/ibmvscsi/ibmvfc.c | 3 +-
drivers/scsi/ibmvscsi/ibmvscsi.c | 9 +-
drivers/scsi/imm.c | 2 +-
drivers/scsi/initio.c | 2 +-
drivers/scsi/ipr.c | 4 +-
drivers/scsi/ips.c | 4 +-
drivers/scsi/libfc/fc_fcp.c | 3 +-
drivers/scsi/libiscsi.c | 3 +-
drivers/scsi/libsas/sas_scsi_host.c | 3 +-
drivers/scsi/lpfc/lpfc_attr.c | 40 +
drivers/scsi/lpfc/lpfc_debugfs.c | 7 +
drivers/scsi/lpfc/lpfc_disc.h | 7 +
drivers/scsi/lpfc/lpfc_els.c | 57 +
drivers/scsi/lpfc/lpfc_hbadisc.c | 1 +
drivers/scsi/lpfc/lpfc_hw4.h | 11 +-
drivers/scsi/lpfc/lpfc_init.c | 5 +
drivers/scsi/lpfc/lpfc_logmsg.h | 3 +-
drivers/scsi/lpfc/lpfc_scsi.c | 8 +-
drivers/scsi/lpfc/lpfc_sli.c | 62 +-
drivers/scsi/lpfc/lpfc_sli4.h | 4 +
drivers/scsi/lpfc/lpfc_version.h | 2 +-
drivers/scsi/mac53c94.c | 2 +-
drivers/scsi/megaraid.c | 17 +-
drivers/scsi/megaraid.h | 6 +-
drivers/scsi/megaraid/megaraid_mbox.c | 23 +-
drivers/scsi/megaraid/megaraid_sas_base.c | 4 +-
drivers/scsi/mesh.c | 2 +-
drivers/scsi/mpi3mr/mpi/mpi30_cnfg.h | 92 +-
drivers/scsi/mpi3mr/mpi/mpi30_image.h | 102 +-
drivers/scsi/mpi3mr/mpi/mpi30_init.h | 2 +-
drivers/scsi/mpi3mr/mpi/mpi30_ioc.h | 1 +
drivers/scsi/mpi3mr/mpi/mpi30_pci.h | 2 +-
drivers/scsi/mpi3mr/mpi/mpi30_sas.h | 2 +-
drivers/scsi/mpi3mr/mpi/mpi30_tool.h | 6 +-
drivers/scsi/mpi3mr/mpi/mpi30_transport.h | 4 +-
drivers/scsi/mpi3mr/mpi3mr.h | 18 +-
drivers/scsi/mpi3mr/mpi3mr_app.c | 28 +-
drivers/scsi/mpi3mr/mpi3mr_fw.c | 136 +-
drivers/scsi/mpi3mr/mpi3mr_os.c | 111 +-
drivers/scsi/mpi3mr/mpi3mr_transport.c | 30 +-
drivers/scsi/mpt3sas/mpt3sas_base.c | 17 +-
drivers/scsi/mpt3sas/mpt3sas_base.h | 10 +-
drivers/scsi/mpt3sas/mpt3sas_scsih.c | 1460 ++++++++++++++++++--
drivers/scsi/mvumi.c | 4 +-
drivers/scsi/myrb.c | 12 +-
drivers/scsi/myrs.c | 4 +-
drivers/scsi/ncr53c8xx.c | 2 +-
drivers/scsi/nsp32.c | 5 +-
drivers/scsi/pcmcia/nsp_cs.c | 2 +-
drivers/scsi/pcmcia/nsp_cs.h | 3 +-
drivers/scsi/pcmcia/sym53c500_cs.c | 2 +-
drivers/scsi/pmcraid.c | 4 +-
drivers/scsi/ppa.c | 2 +-
drivers/scsi/ps3rom.c | 2 +-
drivers/scsi/qedf/qedf.h | 4 +-
drivers/scsi/qedf/qedf_io.c | 4 +-
drivers/scsi/qla1280.c | 18 +-
drivers/scsi/qla2xxx/qla_bsg.c | 147 +-
drivers/scsi/qla2xxx/qla_bsg.h | 12 +
drivers/scsi/qla2xxx/qla_def.h | 30 +-
drivers/scsi/qla2xxx/qla_gbl.h | 5 +
drivers/scsi/qla2xxx/qla_gs.c | 41 +-
drivers/scsi/qla2xxx/qla_init.c | 232 +++-
drivers/scsi/qla2xxx/qla_isr.c | 19 +-
drivers/scsi/qla2xxx/qla_mbx.c | 88 ++
drivers/scsi/qla2xxx/qla_nx.h | 1 +
drivers/scsi/qla2xxx/qla_os.c | 16 +-
drivers/scsi/qla2xxx/qla_sup.c | 29 +
drivers/scsi/qla2xxx/qla_target.c | 2 +-
drivers/scsi/qla2xxx/qla_version.h | 8 +-
drivers/scsi/qla2xxx/tcm_qla2xxx.c | 2 +-
drivers/scsi/qla4xxx/ql4_os.c | 8 +-
drivers/scsi/qlogicfas408.c | 2 +-
drivers/scsi/qlogicfas408.h | 3 +-
drivers/scsi/qlogicpti.c | 2 +-
drivers/scsi/scsi_debug.c | 127 +-
drivers/scsi/scsi_lib.c | 11 +-
drivers/scsi/scsi_priv.h | 3 +-
drivers/scsi/scsi_sysfs.c | 77 +-
drivers/scsi/scsi_transport_fc.c | 42 +
drivers/scsi/sd.c | 295 ++--
drivers/scsi/ses.c | 15 +-
drivers/scsi/smartpqi/smartpqi_init.c | 16 +-
drivers/scsi/snic/snic.h | 3 +-
drivers/scsi/snic/snic_scsi.c | 4 +-
drivers/scsi/sr.c | 21 +-
drivers/scsi/st.c | 22 +-
drivers/scsi/stex.c | 2 +-
drivers/scsi/storvsc_drv.c | 3 +-
drivers/scsi/sym53c8xx_2/sym_glue.c | 2 +-
drivers/scsi/virtio_scsi.c | 4 +-
drivers/scsi/vmw_pvscsi.c | 2 +-
drivers/scsi/wd33c93.c | 2 +-
drivers/scsi/wd33c93.h | 3 +-
drivers/scsi/wd719x.c | 3 +-
drivers/scsi/xen-scsifront.c | 4 +-
drivers/target/loopback/tcm_loop.c | 3 +-
drivers/target/target_core_configfs.c | 68 +-
drivers/target/target_core_fabric_configfs.c | 30 +-
drivers/target/target_core_spc.c | 86 ++
drivers/ufs/core/ufs-mcq.c | 5 +-
drivers/ufs/core/ufs-sysfs.c | 6 +-
drivers/ufs/core/ufshcd-priv.h | 7 +-
drivers/ufs/core/ufshcd.c | 38 +-
drivers/ufs/host/Kconfig | 1 +
drivers/ufs/host/ufs-exynos.c | 10 +
drivers/ufs/host/ufs-mediatek-trace.h | 6 +-
drivers/ufs/host/ufs-mediatek.c | 12 +-
drivers/ufs/host/ufs-qcom.c | 156 ++-
drivers/ufs/host/ufs-qcom.h | 1 +
drivers/usb/image/microtek.c | 6 +-
drivers/usb/storage/scsiglue.c | 2 +-
drivers/usb/storage/uas.c | 2 +-
include/linux/libata.h | 3 +-
include/linux/transport_class.h | 1 +
include/scsi/libfc.h | 3 +-
include/scsi/libiscsi.h | 3 +-
include/scsi/libsas.h | 3 +-
include/scsi/scsi.h | 13 +-
include/scsi/scsi_driver.h | 7 +-
include/scsi/scsi_host.h | 12 +-
include/scsi/scsi_transport_fc.h | 12 +
include/target/target_core_base.h | 4 +
include/uapi/scsi/scsi_bsg_ufs.h | 17 +-
include/ufs/ufs.h | 5 +-
include/ufs/ufshcd.h | 6 +-
include/ufs/ufshci.h | 1 +
176 files changed, 3678 insertions(+), 829 deletions(-)
create mode 100644 Documentation/devicetree/bindings/ufs/qcom,sa8255p-ufshc.yaml
Regards,
James