Only a couple of driver updates this time (lpfc and mpt3sas) plus the usual assorted minor fixes and updates. The major core update is a set of patches moving retries out of the drivers and into the core. The patch is available here: git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git scsi-misc The short changelog is: Andrew Halaney (1): scsi: ufs: qcom: Clarify comments about the initial phy_gear Arnd Bergmann (3): scsi: bfa: Fix function pointer type mismatch for state machines scsi: bfa: Fix function pointer type mismatch for hcb_qe->cbfn scsi: csiostor: Avoid function pointer casts ChanWoo Lee (3): scsi: ufs: mcq: Remove unused parameters scsi: ufs: mcq: Use ufshcd_mcq_req_to_hwq() to simplify updating hwq scsi: ufs: mcq: Add definition for REG_UFS_MEM_CFG register Colin Ian King (3): scsi: qla1280: Remove redundant assignment to variable 'mr' scsi: message: fusion: Remove redundant pointer 'hd' scsi: megaraid: Remove redundant assignment to variable 'retval' Eric Chanudet (1): scsi: ufs: qcom: Avoid re-init quirk when gears match Guixin Liu (1): scsi: mpi3mr: Use ida to manage mrioc ID Jiapeng Chong (1): scsi: fnic: Clean up some inconsistent indenting Justin Stitt (3): scsi: libfc: replace deprecated strncpy() with memcpy() scsi: lpfc: Replace deprecated strncpy() with strscpy() scsi: ibmvscsi_tgt: Replace deprecated strncpy() with strscpy() Justin Tee (17): scsi: lpfc: Copyright updates for 14.4.0.0 patches scsi: lpfc: Update lpfc version to 14.4.0.0 scsi: lpfc: Change lpfc_vport load_flag member into a bitmask scsi: lpfc: Change lpfc_vport fc_flag member into a bitmask scsi: lpfc: Protect vport fc_nodes list with an explicit spin lock scsi: lpfc: Change nlp state statistic counters into atomic_t scsi: lpfc: Remove shost_lock protection for fc_host_port shost APIs scsi: lpfc: Move handling of reset congestion statistics events scsi: lpfc: Save FPIN frequency statistics upon receipt of peer cgn notifications scsi: lpfc: Add condition to delete ndlp object after sending BLS_RJT to an ABTS scsi: lpfc: Fix failure to delete vports when discovery is in progress scsi: lpfc: Remove NLP_RCV_PLOGI early return during RSCN processing for ndlps scsi: lpfc: Allow lpfc_plogi_confirm_nport() logic to execute for Fabric nodes scsi: lpfc: Remove D_ID swap log message from trace event logger scsi: lpfc: Use sg_dma_len() API to get struct scatterlist's length scsi: lpfc: Fix possible memory leak in lpfc_rcv_padisc() scsi: lpfc: Initialize status local variable in lpfc_sli4_repost_sgl_list() Lee Jones (5): scsi: aacraid: aachba: Replace snprintf() with the safer scnprintf() variant scsi: 53c700: Remove snprintf() from sysfs call-backs and replace with sysfs_emit() scsi: 3w-xxxx: Remove snprintf() from sysfs call-backs and replace with sysfs_emit() scsi: 3w-sas: Remove snprintf() from sysfs call-backs and replace with sysfs_emit() scsi: 3w-9xxx: Remove snprintf() from sysfs call-backs and replace with sysfs_emit() Li Zhijian (5): scsi: pm8001: Convert snprintf() to sysfs_emit() scsi: isci: Convert snprintf() to sysfs_emit() scsi: ibmvscsi_tgt: Convert snprintf() to sysfs_emit() scsi: ibmvscsi: Convert snprintf() to sysfs_emit() scsi: fnic: Convert snprintf() to sysfs_emit() Lukas Bulwahn (1): scsi: core: Really include kunit tests with SCSI_LIB_KUNIT_TEST Maramaina Naresh (2): scsi: ufs: ufs-mediatek: Migrate to UFSHCD generic CPU latency PM QoS support scsi: ufs: core: Add CPU latency QoS support for UFS driver Mike Christie (19): scsi: core: Add kunit tests for scsi_check_passthrough() scsi: ufs: Have midlayer retry start stop errors scsi: sr: Have midlayer retry get_sectorsize() errors scsi: ses: Have midlayer retry scsi_execute_cmd() errors scsi: sd: Have midlayer retry read_capacity_10() errors scsi: sd: Have pr commands retry UAs scsi: core: Have SCSI midlayer retry scsi_report_lun_scan() errors scsi: core: Have midlayer retry scsi_mode_sense() UAs scsi: ch: Have midlayer retry ch_do_scsi() UAs scsi: ch: Remove unit_attention scsi: sd: Have midlayer retry sd_sync_cache() errors scsi: spi: Have midlayer retry spi_execute() UAs scsi: device_handler: rdac: Have midlayer retry send_mode_select() errors scsi: device_handler: hp_sw: Have midlayer retry scsi_execute_cmd() errors scsi: sd: Have midlayer retry sd_spinup_disk() errors scsi: sd: Use separate buf for START_STOP in sd_spinup_disk() scsi: core: Retry INQUIRY after timeout scsi: core: Have midlayer retry scsi_probe_lun() errors scsi: core: Allow passthrough to request midlayer retries Peter Wang (5): scsi: ufs: ufs-mediatek: Change default autosuspend timer scsi: core: Move autosuspend timer delay to Scsi_Host scsi: ufs: ufs-mediatek: Disable MCQ IRQ when clock off scsi: ufs: ufs-mediatek: Fix MCQ mode TM cmd timeout scsi: ufs: ufs-mediatek: Check link status after exiting hibern8 Petr Mladek (1): scsi: core: Safe warning about bad dev info string Ranjan Kumar (2): scsi: mpt3sas: Update driver version to 48.100.00.00 scsi: mpt3sas: Reload SBR without rebooting HBA Ricardo B. Marliere (6): scsi: core: Constify the struct device_type usage scsi: core: Make scsi_bus_type const scsi: target: tcm_loop: Make tcm_loop_lld_bus const scsi: scsi_debug: Make pseudo_lld_bus const scsi: iscsi: Make iscsi_flashnode_bus const scsi: fcoe: Make fcoe_bus_type const Simone Weiß (1): scsi: bfa: Remove additional unnecessary struct declarations Xiang Chen (1): scsi: hisi_sas: Remove hisi_hba->timer for v3 hw Yihang Li (3): scsi: hisi_sas: Check whether debugfs is enabled before removing or releasing it scsi: hisi_sas: Remove redundant checks for automatic debugfs dump scsi: hisi_sas: Fix a deadlock issue related to automatic dump And the diffstat: drivers/message/fusion/mptfc.c | 4 +- drivers/scsi/3w-9xxx.c | 44 +-- drivers/scsi/3w-sas.c | 36 +-- drivers/scsi/3w-xxxx.c | 44 +-- drivers/scsi/53c700.c | 2 +- drivers/scsi/Kconfig | 9 + drivers/scsi/aacraid/aachba.c | 6 +- drivers/scsi/bfa/bfa.h | 30 +- drivers/scsi/bfa/bfa_core.c | 4 +- drivers/scsi/bfa/bfa_cs.h | 21 +- drivers/scsi/bfa/bfa_fcpim.c | 51 ---- drivers/scsi/bfa/bfa_fcpim.h | 66 +++- drivers/scsi/bfa/bfa_fcs.h | 312 ++++++++++++------- drivers/scsi/bfa/bfa_fcs_fcpim.c | 23 +- drivers/scsi/bfa/bfa_fcs_lport.c | 112 ++----- drivers/scsi/bfa/bfa_fcs_rport.c | 34 ++- drivers/scsi/bfa/bfa_ioc.c | 85 +++--- drivers/scsi/bfa/bfa_ioc.h | 84 ++++-- drivers/scsi/bfa/bfa_svc.c | 72 ++--- drivers/scsi/bfa/bfa_svc.h | 115 +++++-- drivers/scsi/bfa/bfad_bsg.c | 11 +- drivers/scsi/bfa/bfad_drv.h | 31 +- drivers/scsi/ch.c | 27 +- drivers/scsi/csiostor/csio_defs.h | 18 +- drivers/scsi/csiostor/csio_lnode.c | 8 +- drivers/scsi/csiostor/csio_lnode.h | 13 - drivers/scsi/device_handler/scsi_dh_hp_sw.c | 49 ++- drivers/scsi/device_handler/scsi_dh_rdac.c | 84 +++--- drivers/scsi/fcoe/fcoe_sysfs.c | 4 +- drivers/scsi/fnic/fnic_attrs.c | 7 +- drivers/scsi/fnic/fnic_scsi.c | 4 +- drivers/scsi/hisi_sas/hisi_sas_main.c | 26 +- drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 8 +- drivers/scsi/hosts.c | 2 +- drivers/scsi/ibmvscsi/ibmvfc.c | 22 +- drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c | 24 +- drivers/scsi/isci/init.c | 2 +- drivers/scsi/libfc/fc_encode.h | 14 +- drivers/scsi/lpfc/lpfc.h | 94 +++--- drivers/scsi/lpfc/lpfc_attr.c | 107 +++---- drivers/scsi/lpfc/lpfc_bsg.c | 8 +- drivers/scsi/lpfc/lpfc_ct.c | 158 +++++----- drivers/scsi/lpfc/lpfc_debugfs.c | 14 +- drivers/scsi/lpfc/lpfc_els.c | 446 ++++++++++++---------------- drivers/scsi/lpfc/lpfc_hbadisc.c | 350 +++++++++------------- drivers/scsi/lpfc/lpfc_hw4.h | 4 +- drivers/scsi/lpfc/lpfc_init.c | 137 +++++---- drivers/scsi/lpfc/lpfc_mbox.c | 10 +- drivers/scsi/lpfc/lpfc_nportdisc.c | 91 +++--- drivers/scsi/lpfc/lpfc_nvme.c | 20 +- drivers/scsi/lpfc/lpfc_nvmet.c | 14 +- drivers/scsi/lpfc/lpfc_scsi.c | 10 +- drivers/scsi/lpfc/lpfc_sli.c | 56 ++-- drivers/scsi/lpfc/lpfc_version.h | 6 +- drivers/scsi/lpfc/lpfc_vport.c | 69 ++--- drivers/scsi/megaraid.c | 2 +- drivers/scsi/mpi3mr/mpi3mr_os.c | 12 +- drivers/scsi/mpt3sas/mpt3sas_base.c | 99 ++++-- drivers/scsi/mpt3sas/mpt3sas_base.h | 8 +- drivers/scsi/mpt3sas/mpt3sas_ctl.c | 54 ++++ drivers/scsi/mpt3sas/mpt3sas_ctl.h | 10 + drivers/scsi/mpt3sas/mpt3sas_scsih.c | 1 + drivers/scsi/pm8001/pm8001_ctl.c | 6 +- drivers/scsi/qla1280.c | 1 - drivers/scsi/scsi_debug.c | 4 +- drivers/scsi/scsi_devinfo.c | 6 +- drivers/scsi/scsi_lib.c | 124 +++++++- drivers/scsi/scsi_lib_test.c | 330 ++++++++++++++++++++ drivers/scsi/scsi_priv.h | 2 +- drivers/scsi/scsi_scan.c | 109 ++++--- drivers/scsi/scsi_sysfs.c | 6 +- drivers/scsi/scsi_transport_iscsi.c | 4 +- drivers/scsi/scsi_transport_spi.c | 35 +-- drivers/scsi/sd.c | 220 +++++++++----- drivers/scsi/ses.c | 66 ++-- drivers/scsi/sr.c | 38 +-- drivers/target/loopback/tcm_loop.c | 2 +- drivers/ufs/core/ufs-mcq.c | 12 +- drivers/ufs/core/ufs-sysfs.c | 49 +++ drivers/ufs/core/ufshcd.c | 90 ++++-- drivers/ufs/host/ufs-mediatek.c | 90 ++++-- drivers/ufs/host/ufs-mediatek.h | 7 +- drivers/ufs/host/ufs-qcom.c | 28 +- include/scsi/scsi_device.h | 48 +++ include/scsi/scsi_host.h | 6 +- include/ufs/ufshcd.h | 7 + include/ufs/ufshci.h | 3 + 87 files changed, 2746 insertions(+), 1835 deletions(-) create mode 100644 drivers/scsi/scsi_lib_test.c James