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

James Bottomley
2025-01-27T05:42:03Z

[From kernel.org for once because hansenpartnership.com is suffering a
prolonged outage due to data centre issues in Los Angeles]

[There are three obvious ata merge conflicts where the update to remove
the slave_ prefix changed device_configure to sdev_configure and is
next to a different name change from tag_alloc_policy to
tag_alloc_policy_rr]

Updates to the usual drivers (ufs, lpfc, fnic, qla2xx, mpi3mr) The
major core change is the renaming of the slave_ methods plus a bit of
constification. The rest are minor updates and fixes.

The patch is available here:

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

The short changelog is:

Ariel Otilibili (1):
scsi: myrb: Remove dead code

Artur Paszkiewicz (1):
scsi: MAINTAINERS: Remove myself as isci driver maintainer

Arun Easi (2):
scsi: fnic: Propagate SCSI error code from fnic_scsi_drv_init()
scsi: fnic: Remove always-true IS_FNIC_FCP_INITIATOR macro

Avri Altman (6):
scsi: Revert "scsi: ufs: core: Probe for EXT_IID support"
scsi: ufs: core: Do not hold any lock in ufshcd_hba_stop()
scsi: ufs: core: Introduce a new clock_scaling lock
scsi: ufs: core: Introduce a new clock_gating lock
scsi: ufs: core: Prepare to introduce a new clock_gating lock
scsi: ufs: core: Introduce ufshcd_has_pending_tasks()

Bart Van Assche (6):
scsi: scsi_debug: Skip host/bus reset settle delay
scsi: core: Update API documentation
scsi: core: Remove the .slave_configure() method
scsi: Convert SCSI drivers to .sdev_configure()
scsi: Rename .device_configure() into .sdev_configure()
scsi: Rename .slave_alloc() and .slave_destroy()

Christophe JAILLET (1):
scsi: Constify struct pci_device_id

Dan Carpenter (1):
scsi: fnic: Delete incorrect debugfs error handling

Dheeraj Reddy Jonnalagadda (1):
scsi: fnic: Fix use of uninitialized value in debug message

Dr. David Alan Gilbert (3):
scsi: isci: Remove unused isci_remote_device_reset_complete()
scsi: iscsi: Remove unused iscsi_create_session()
scsi: target: Remove unused functions

Easwar Hariharan (1):
scsi: storvsc: Ratelimit warning logs to prevent VM denial of service

Eric Biggers (4):
scsi: ufs: crypto: Remove ufs_hba_variant_ops::program_key
scsi: ufs: qcom: Convert to use UFSHCD_QUIRK_CUSTOM_CRYPTO_PROFILE
scsi: ufs: crypto: Add ufs_hba_from_crypto_profile()
scsi: ufs: qcom: Fix crypto key eviction

Fedor Loshakov (1):
scsi: zfcp: Correct kdoc parameter description for sending ELS and CT

Frederic Weisbecker (3):
scsi: qedi: Use kthread_create_on_cpu()
scsi: bnx2i: Use kthread_create_on_cpu()
scsi: bnx2fc: Use kthread_create_on_cpu()

Guixin Liu (3):
scsi: mpi3mr: Fix possible crash when setting up bsg fails
scsi: ufs: bsg: Set bsg_queue to NULL after removal
scsi: ufs: bsg: Delete bsg_dev when setting up bsg fails

Igor Pylypiv (2):
scsi: pm80xx: Increase reserved tags from 8 to 128
scsi: pm80xx: Do not use libsas port ID

John Garry (1):
scsi: scsi_debug: Constify sdebug_driver_template

Jolly Shah (1):
scsi: pm80xx: Use dynamic tag numbers for PHY start and stop

Justin Tee (10):
scsi: lpfc: Copyright updates for 14.4.0.7 patches
scsi: lpfc: Update lpfc version to 14.4.0.7
scsi: lpfc: Add support for large fw object application layer reads
scsi: lpfc: Update definition of firmware configuration mbox cmds
scsi: lpfc: Change lpfc_nodelist save_flags member into a bitmask
scsi: lpfc: Add handling for LS_RJT reason explanation authentication required
scsi: lpfc: Modify handling of ADISC based on ndlp state and RPI registration
scsi: lpfc: Delete NLP_TARGET_REMOVE flag due to obsolete usage
scsi: lpfc: Restrict the REG_FCFI MAM field to FCoE adapters only
scsi: lpfc: Redefine incorrect type in lpfc_create_device_data()

Kai Mäkisara (1):
scsi: st: Don't set pos_unknown just after device recognition

Karan Tilak Kumar (21):
scsi: fnic: Test for memory allocation failure and return error code
scsi: fnic: Return appropriate error code from failure of scsi drv init
scsi: fnic: Return appropriate error code for mem alloc failure
scsi: fnic: Remove unnecessary else to fix warning in FDLS FIP
scsi: fnic: Remove extern definition from .c files
scsi: fnic: Remove unnecessary else and unnecessary break in FDLS
scsi: fnic: Increment driver version
scsi: fnic: Add support to handle port channel RSCN
scsi: fnic: Code cleanup
scsi: fnic: Add stats and related functionality
scsi: fnic: Modify fnic interfaces to use FDLS
scsi: fnic: Modify IO path to use FDLS
scsi: fnic: Add functionality in fnic to support FDLS
scsi: fnic: Add and integrate support for FIP
scsi: fnic: Add and integrate support for FDMI
scsi: fnic: Add Cisco hardware model names
scsi: fnic: Add support for unsolicited requests and responses
scsi: fnic: Add support for target based solicited requests and responses
scsi: fnic: Add support for fabric based solicited requests and responses
scsi: fnic: Add headers and definitions for FDLS
scsi: fnic: Replace shost_printk() with dev_info()/dev_err()

Michael Kelley (1):
scsi: storvsc: Don't assume cpu_possible_mask is dense

Paul Menzel (2):
scsi: mpt3sas: Set ioc->manu_pg11.EEDPTagMode directly to 1
scsi: mpt3sas: Add details to EEDPTagMode error message

Prateek Singh Rathore (1):
scsi: csiostor: Fix typo doesnt->doesn't

Quinn Tran (1):
scsi: qla2xxx: Move FCE Trace buffer allocation to user control

Randy Dunlap (10):
scsi: documentation: Corrections for struct updates
scsi: driver-api: documentation: Change what is added to docbook
scsi: transport: sas: spi: Fix kernel-doc for exported functions
scsi: scsi_scan: Add kernel-doc for exported function
scsi: scsi_lib: Add kernel-doc for exported functions
scsi: scsi_ioctl: Add kernel-doc for exported functions
scsi: scsi_error: Add kernel-doc for exported functions
scsi: documentation: scsi_eh: updates for EH changes
scsi: Eliminate scsi_register() and scsi_unregister() usage & docs
scsi: docs: Remove init_this_scsi_driver()

Siddharth Menon (1):
scsi: esp: Fix variable typo

Steffen Maier (2):
scsi: MAINTAINERS: Update zfcp entry
scsi: zfcp: Clarify zfcp_port refcount ownership during "link" test

Thomas Weißschuh (11):
scsi: qla4xxx: Constify 'struct bin_attribute'
scsi: qla2xxx: Constify 'struct bin_attribute'
scsi: qedi: Constify 'struct bin_attribute'
scsi: qedf: Constify 'struct bin_attribute'
scsi: ipr: Constify 'struct bin_attribute'
scsi: lpfc: Constify 'struct bin_attribute'
scsi: ibmvfc: Constify 'struct bin_attribute'
scsi: esas2r: Constify 'struct bin_attribute'
scsi: arcmsr: Constify 'struct bin_attribute'
scsi: 3w-sas: Constify 'struct bin_attribute'
scsi: core: Constify 'struct bin_attribute'

Thorsten Blum (2):
scsi: bsg: Replace zero-length array with flexible array member
scsi: fnic: Use vcalloc() instead of vmalloc() and memset(0)

Vishakha Channapattan (1):
scsi: pm80xx: Improve debugging for aborted commands

wangdicheng (1):
scsi: aic7xxx: Fix build 'aicasm' warning

And the diffstat:

Documentation/driver-api/scsi.rst | 5 +-
Documentation/scsi/scsi_eh.rst | 46 +-
Documentation/scsi/scsi_mid_low_api.rst | 206 +-
MAINTAINERS | 6 +-
drivers/ata/ahci.h | 2 +-
drivers/ata/libata-sata.c | 8 +-
drivers/ata/libata-scsi.c | 19 +-
drivers/ata/pata_macio.c | 8 +-
drivers/ata/sata_mv.c | 2 +-
drivers/ata/sata_nv.c | 24 +-
drivers/ata/sata_sil24.c | 2 +-
drivers/firewire/sbp2.c | 10 +-
drivers/infiniband/ulp/srp/ib_srp.c | 5 +-
drivers/message/fusion/mptfc.c | 14 +-
drivers/message/fusion/mptsas.c | 14 +-
drivers/message/fusion/mptscsih.c | 10 +-
drivers/message/fusion/mptscsih.h | 5 +-
drivers/message/fusion/mptspi.c | 19 +-
drivers/s390/scsi/zfcp_fc.c | 7 +-
drivers/s390/scsi/zfcp_fsf.c | 4 +-
drivers/s390/scsi/zfcp_scsi.c | 15 +-
drivers/s390/scsi/zfcp_sysfs.c | 2 +-
drivers/s390/scsi/zfcp_unit.c | 2 +-
drivers/scsi/3w-9xxx.c | 9 +-
drivers/scsi/3w-sas.c | 21 +-
drivers/scsi/3w-xxxx.c | 10 +-
drivers/scsi/53c700.c | 19 +-
drivers/scsi/BusLogic.c | 9 +-
drivers/scsi/BusLogic.h | 3 +-
drivers/scsi/a100u2w.c | 2 +-
drivers/scsi/aacraid/linit.c | 8 +-
drivers/scsi/advansys.c | 25 +-
drivers/scsi/aic7xxx/aic79xx_osm.c | 8 +-
drivers/scsi/aic7xxx/aic7xxx_osm.c | 8 +-
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y | 1 +
drivers/scsi/aic7xxx/aicasm/aicasm_macro_gram.y | 1 +
drivers/scsi/aic7xxx/aicasm/aicasm_scan.l | 3 +
drivers/scsi/am53c974.c | 2 +-
drivers/scsi/arcmsr/arcmsr_attr.c | 12 +-
drivers/scsi/arcmsr/arcmsr_hba.c | 10 +-
drivers/scsi/atp870u.c | 2 +-
drivers/scsi/bfa/bfad_im.c | 26 +-
drivers/scsi/bnx2fc/bnx2fc_fcoe.c | 14 +-
drivers/scsi/bnx2i/bnx2i_init.c | 7 +-
drivers/scsi/csiostor/csio_scsi.c | 20 +-
drivers/scsi/cxlflash/main.c | 2 +-
drivers/scsi/dc395x.c | 14 +-
drivers/scsi/dmx3191d.c | 2 +-
drivers/scsi/elx/efct/efct_driver.c | 2 +-
drivers/scsi/esas2r/esas2r.h | 12 +-
drivers/scsi/esas2r/esas2r_main.c | 32 +-
drivers/scsi/esp_scsi.c | 14 +-
drivers/scsi/esp_scsi.h | 2 +-
drivers/scsi/fcoe/fcoe.c | 2 +-
drivers/scsi/fdomain_pci.c | 2 +-
drivers/scsi/fnic/Makefile | 5 +-
drivers/scsi/fnic/fdls_disc.c | 4997 +++++++++++++++++++++++
drivers/scsi/fnic/fdls_fc.h | 253 ++
drivers/scsi/fnic/fip.c | 1005 +++++
drivers/scsi/fnic/fip.h | 159 +
drivers/scsi/fnic/fnic.h | 288 +-
drivers/scsi/fnic/fnic_attrs.c | 12 +-
drivers/scsi/fnic/fnic_debugfs.c | 11 +-
drivers/scsi/fnic/fnic_fcs.c | 1742 ++++----
drivers/scsi/fnic/fnic_fdls.h | 434 ++
drivers/scsi/fnic/fnic_fip.h | 48 -
drivers/scsi/fnic/fnic_io.h | 14 +-
drivers/scsi/fnic/fnic_isr.c | 28 +-
drivers/scsi/fnic/fnic_main.c | 758 ++--
drivers/scsi/fnic/fnic_pci_subsys_devid.c | 131 +
drivers/scsi/fnic/fnic_res.c | 77 +-
drivers/scsi/fnic/fnic_scsi.c | 1161 ++++--
drivers/scsi/fnic/fnic_stats.h | 49 +-
drivers/scsi/fnic/fnic_trace.c | 97 +-
drivers/scsi/hisi_sas/hisi_sas.h | 5 +-
drivers/scsi/hisi_sas/hisi_sas_main.c | 13 +-
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 4 +-
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 4 +-
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 10 +-
drivers/scsi/hpsa.c | 20 +-
drivers/scsi/hptiop.c | 8 +-
drivers/scsi/ibmvscsi/ibmvfc.c | 20 +-
drivers/scsi/ibmvscsi/ibmvscsi.c | 8 +-
drivers/scsi/initio.c | 2 +-
drivers/scsi/ipr.c | 48 +-
drivers/scsi/ips.c | 6 +-
drivers/scsi/ips.h | 3 +-
drivers/scsi/isci/remote_device.c | 29 -
drivers/scsi/isci/remote_device.h | 17 -
drivers/scsi/iscsi_tcp.c | 6 +-
drivers/scsi/libfc/fc_fcp.c | 6 +-
drivers/scsi/libsas/sas_scsi_host.c | 11 +-
drivers/scsi/lpfc/lpfc_attr.c | 20 +-
drivers/scsi/lpfc/lpfc_bsg.c | 210 +-
drivers/scsi/lpfc/lpfc_bsg.h | 19 +-
drivers/scsi/lpfc/lpfc_ct.c | 6 +-
drivers/scsi/lpfc/lpfc_disc.h | 11 +-
drivers/scsi/lpfc/lpfc_els.c | 55 +-
drivers/scsi/lpfc/lpfc_hbadisc.c | 13 +-
drivers/scsi/lpfc/lpfc_hw.h | 3 +-
drivers/scsi/lpfc/lpfc_hw4.h | 85 +-
drivers/scsi/lpfc/lpfc_init.c | 11 +-
drivers/scsi/lpfc/lpfc_mbox.c | 6 +-
drivers/scsi/lpfc/lpfc_nportdisc.c | 53 +-
drivers/scsi/lpfc/lpfc_scsi.c | 64 +-
drivers/scsi/lpfc/lpfc_sli4.h | 2 -
drivers/scsi/lpfc/lpfc_version.h | 2 +-
drivers/scsi/lpfc/lpfc_vport.c | 22 +-
drivers/scsi/megaraid.c | 2 +-
drivers/scsi/megaraid/megaraid_mbox.c | 4 +-
drivers/scsi/megaraid/megaraid_sas_base.c | 16 +-
drivers/scsi/mpi3mr/mpi3mr_app.c | 8 +-
drivers/scsi/mpi3mr/mpi3mr_os.c | 20 +-
drivers/scsi/mpt3sas/mpt3sas_base.c | 5 +-
drivers/scsi/mpt3sas/mpt3sas_scsih.c | 24 +-
drivers/scsi/mvsas/mv_init.c | 2 +-
drivers/scsi/mvumi.c | 5 +-
drivers/scsi/myrb.c | 23 +-
drivers/scsi/myrs.c | 13 +-
drivers/scsi/ncr53c8xx.c | 9 +-
drivers/scsi/nsp32.c | 2 +-
drivers/scsi/pm8001/pm8001_defs.h | 2 +-
drivers/scsi/pm8001/pm8001_hwi.c | 5 +-
drivers/scsi/pm8001/pm8001_init.c | 2 +-
drivers/scsi/pm8001/pm8001_sas.c | 78 +-
drivers/scsi/pm8001/pm8001_sas.h | 2 +
drivers/scsi/pm8001/pm80xx_hwi.c | 59 +-
drivers/scsi/pmcraid.c | 24 +-
drivers/scsi/ps3rom.c | 5 +-
drivers/scsi/qedf/qedf_attr.c | 10 +-
drivers/scsi/qedf/qedf_dbg.h | 2 +-
drivers/scsi/qedf/qedf_main.c | 5 +-
drivers/scsi/qedi/qedi_dbg.h | 2 +-
drivers/scsi/qedi/qedi_main.c | 8 +-
drivers/scsi/qla1280.c | 8 +-
drivers/scsi/qla2xxx/qla_attr.c | 80 +-
drivers/scsi/qla2xxx/qla_def.h | 2 +
drivers/scsi/qla2xxx/qla_dfs.c | 124 +-
drivers/scsi/qla2xxx/qla_gbl.h | 3 +
drivers/scsi/qla2xxx/qla_init.c | 28 +-
drivers/scsi/qla2xxx/qla_os.c | 14 +-
drivers/scsi/qla4xxx/ql4_attr.c | 12 +-
drivers/scsi/qla4xxx/ql4_os.c | 8 +-
drivers/scsi/qlogicpti.c | 5 +-
drivers/scsi/scsi_debug.c | 32 +-
drivers/scsi/scsi_error.c | 26 +-
drivers/scsi/scsi_ioctl.c | 35 +-
drivers/scsi/scsi_lib.c | 24 +-
drivers/scsi/scsi_scan.c | 42 +-
drivers/scsi/scsi_sysfs.c | 20 +-
drivers/scsi/scsi_transport_iscsi.c | 31 +-
drivers/scsi/scsi_transport_sas.c | 10 +-
drivers/scsi/scsi_transport_spi.c | 3 +-
drivers/scsi/smartpqi/smartpqi_init.c | 13 +-
drivers/scsi/snic/snic_main.c | 14 +-
drivers/scsi/st.c | 6 +
drivers/scsi/st.h | 1 +
drivers/scsi/stex.c | 6 +-
drivers/scsi/storvsc_drv.c | 28 +-
drivers/scsi/sym53c8xx_2/sym_glue.c | 17 +-
drivers/scsi/virtio_scsi.c | 2 +-
drivers/scsi/xen-scsifront.c | 11 +-
drivers/target/iscsi/iscsi_target.c | 15 -
drivers/target/iscsi/iscsi_target.h | 1 -
drivers/target/iscsi/iscsi_target_erl2.c | 48 -
drivers/target/iscsi/iscsi_target_erl2.h | 2 -
drivers/target/iscsi/iscsi_target_parameters.c | 48 -
drivers/target/iscsi/iscsi_target_parameters.h | 3 -
drivers/target/iscsi/iscsi_target_tpg.c | 5 -
drivers/target/iscsi/iscsi_target_tpg.h | 1 -
drivers/target/iscsi/iscsi_target_util.c | 58 -
drivers/target/iscsi/iscsi_target_util.h | 2 -
drivers/ufs/core/ufs_bsg.c | 2 +
drivers/ufs/core/ufshcd-crypto.c | 26 +-
drivers/ufs/core/ufshcd.c | 316 +-
drivers/ufs/host/ufs-qcom.c | 93 +-
drivers/usb/image/microtek.c | 4 +-
drivers/usb/storage/scsiglue.c | 10 +-
drivers/usb/storage/uas.c | 10 +-
include/linux/libata.h | 19 +-
include/scsi/libfc.h | 2 +-
include/scsi/libsas.h | 9 +-
include/scsi/scsi_bsg_iscsi.h | 2 +-
include/scsi/scsi_device.h | 4 +-
include/scsi/scsi_host.h | 26 +-
include/scsi/scsi_transport_iscsi.h | 4 -
include/ufs/ufs.h | 5 -
include/ufs/ufshcd.h | 38 +-
include/ufs/ufshci.h | 5 -
189 files changed, 10976 insertions(+), 3534 deletions(-)
create mode 100644 drivers/scsi/fnic/fdls_disc.c
create mode 100644 drivers/scsi/fnic/fdls_fc.h
create mode 100644 drivers/scsi/fnic/fip.c
create mode 100644 drivers/scsi/fnic/fip.h
create mode 100644 drivers/scsi/fnic/fnic_fdls.h
delete mode 100644 drivers/scsi/fnic/fnic_fip.h
create mode 100644 drivers/scsi/fnic/fnic_pci_subsys_devid.c