[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