[GIT PULL] first round of SCSI updates for the 4.18+ merge window

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is mostly updates to the usual drivers: mpt3sas, lpfc, qla2xxx,
hisi_sas, smartpqi, megaraid_sas, arcmsr.  In addition, with the
continuing absence of Nic we have target updates for tcmu and target
core (all with reviews and acks).  The biggest observable change is
going to be that we're (again) trying to switch to mulitqueue as the
default (a user can still override the setting on the kernel command
line).  Other major core stuff is the removal of the remaining
Microchannel drivers, an update of the internal timers and some reworks
of completion and result handling.

There's a conflict between this patch and your tree (mostly around some
of the fixes we've already sent you).  I attach the proposed resolution
below, just in case you need it.

The patch is available here:

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

The short changelog is:

Anton Vasilyev (1):
      scsi: 3ware: fix return 0 on the error path of probe

Arjun Vynipadath (1):
      scsi: csiostor: update csio_get_flash_params()

Arnd Bergmann (5):
      scsi: snic: fix printing time intervals
      scsi: target: sbitmap: add seq_file forward declaration
      scsi: lpfc: use monotonic timestamps for statistics
      scsi: scsi_transport_fc: use 64-bit timestamps consistently
      scsi: aacraid: stop using deprated get_seconds()

Bart Van Assche (37):
      scsi: core: Avoid that SCSI device removal through sysfs triggers a deadlock
      scsi: sysfs: Introduce sysfs_{un,}break_active_protection()
      Revert "scsi: target/iscsi: Reduce number of __iscsit_free_cmd() callers"
      scsi: libiscsi: Annotate fall-through
      scsi: libiscsi: Annotate locking assumptions
      scsi: target: Remove se_dev_entry.ua_count
      scsi: target: Fix handling of removed LUNs
      scsi: target: Send unit attention condition even if the sense buffer is too small
      scsi: target: Do not duplicate the code that marks that a command has sense data
      scsi: target/tcm_loop: Avoid that static checkers warn about dead code
      scsi: target: Remove second argument from fabric_make_tpg()
      scsi: target/iscsi: Make iscsit_ta_authentication() respect the output buffer size
      scsi: target/iscsi: Reduce number of __iscsit_free_cmd() callers
      scsi: target: Simplify the code for waiting for command completion
      scsi: target: Simplify transport_generic_free_cmd() (2/2)
      scsi: target: Simplify transport_generic_free_cmd() (1/2)
      scsi: target: Fold core_tmr_handle_tas_abort() into transport_cmd_finish_abort()
      scsi: target: Simplify core_tmr_handle_tas_abort()
      scsi: target: Document when CMD_T_STOP and CMD_T_COMPLETE are set
      scsi: target: Make the session shutdown code also wait for commands that are being aborted
      scsi: target: Introduce transport_init_session()
      scsi: target: Rename transport_init_session() into transport_alloc_session()
      scsi: target: Move a list_del_init() statement
      scsi: target: Avoid that EXTENDED COPY commands trigger lock inversion
      scsi: target: Use config_item_name() instead of open-coding it
      scsi: klist: Make it safe to use klists in atomic context
      scsi: sd_zbc: Remove an assignment from sd_zbc_setup_report_cmnd()
      scsi: sd: Remove a superfluous assignment
      scsi: qedi: Fix misleading indentation
      scsi: mpt3sas: Improve kernel-doc headers
      scsi: mpt3sas: Split _base_reset_handler(), mpt3sas_scsih_reset_handler() and mpt3sas_ctl_reset_handler()
      scsi: mpt3sas: Fix a race condition in mpt3sas_base_hard_reset_handler()
      scsi: mpt3sas: Fix _transport_smp_handler() error path
      scsi: mpt3sas: Introduce struct mpt3sas_nvme_cmd
      scsi: mpt3sas: Annotate switch/case fall-through
      scsi: mpt3sas: Remove set-but-not-used variables
      scsi: mpt3sas: Fix indentation

Breno Leitao (1):
      scsi: ibmvscsi: Improve strings handling

Chaitra P B (7):
      scsi: mpt3sas: Fix for regression caused by sparse cleanups
      scsi: mpt3sas: Update driver version "26.100.00.00"
      scsi: mpt3sas: As per MPI-spec, use combined reply queue for SAS3.5 controllers when HBA supports more than 16 MSI-x vectors.
      scsi: mpt3sas: Fix, False timeout prints for ioctl and other internal commands during controller reset.
      scsi: mpt3sas: Don't access the structure after decrementing it's instance reference count.
      scsi: mpt3sas: Incorrect command status was set/marked as not used.
      scsi: mpt3sas: Don't abort I/Os issued to NVMe drives while processing Async Broadcast primitive event.

Ching Huang (2):
      scsi: arcmsr: Update driver version to v1.40.00.09-20180709
      scsi: arcmsr: Fix error of resuming from hibernation for adapter type E

Colin Ian King (3):
      scsi: st: remove redundant pointer STbuffer
      scsi: sym53c8xx: remove some redundant variables
      scsi: lpfc: remove null check on nvmebuf

Dan Carpenter (2):
      scsi: aic94xx: fix an error code in aic94xx_init()
      scsi: qedi: tidy up a size calculation

Dominique Martinet (2):
      scsi: ibmvscsi: change strncpy+truncation to strlcpy
      scsi: mptctl: change strncpy+truncation to strlcpy

Don Brace (1):
      scsi: smartpqi: bump driver version to 1.1.4-130

Dongliang Mu (1):
      scsi: aacraid: Spelling fix in comment

Douglas Gilbert (9):
      scsi: scsi_debug: add cmd abort option to every_nth
      scsi: scsi_debug: skip long delays when ndelay small
      scsi: core: scsi_io_completion convert BUGs to WARNs
      scsi: core: scsi_io_completion hints on fastpath
      scsi: core: add scsi_io_completion_reprep helper
      scsi: core: add scsi_io_completion_action helper
      scsi: core: add scsi_io_completion_nz_result function
      scsi: core: scsi_io_completion: rename variables
      scsi: core: scsi_io_completion: comment on end_request return

Gustavo A. R. Silva (1):
      scsi: mptfusion: mark expected switch fall-throughs

Hannes Reinecke (6):
      scsi: fcoe: hold disc_mutex when traversing rport lists
      scsi: libfc: Add WARN_ON() when deleting rports
      scsi: libfc: hold disc_mutex in fc_disc_stop_rports()
      scsi: libfc: fixup lockdep annotations
      scsi: libfc: fixup 'sleeping function called from invalid context'
      scsi: libfc: Add lockdep annotations

Himanshu Madhani (3):
      scsi: qla2xxx: Update driver version to 10.00.00.08-k
      scsi: qla2xxx: Fix stalled relogin
      scsi: qla2xxx: Cleanup for N2N code

James Smart (18):
      scsi: lpfc: update driver version to 12.0.0.6
      scsi: lpfc: Remove lpfc_enable_pbde as module parameter
      scsi: lpfc: Correct LCB ACCept payload
      scsi: lpfc: Limit tracking of tgt queue depth in fast path
      scsi: lpfc: Fix driver crash when re-registering NVME rports.
      scsi: lpfc: Fix list corruption on the completion queue.
      scsi: lpfc: Fix sysfs Speed value on CNA ports
      scsi: lpfc: Fix ELS abort on SLI-3 adapters
      scsi: lpfc: Revise copyright for new company language
      scsi: lpfc: update driver version to 12.0.0.5
      scsi: lpfc: devloss timeout race condition caused null pointer reference
      scsi: lpfc: Fix NVME Target crash in defer rcv logic
      scsi: lpfc: Support duration field in Link Cable Beacon V1 command
      scsi: lpfc: Make PBDE optimizations configurable
      scsi: lpfc: Fix abort error path for NVMET
      scsi: lpfc: Fix panic if driver unloaded when port is offline
      scsi: lpfc: Fix driver not setting dpp bits correctly in doorbell word
      scsi: lpfc: Add Buffer overflow check, when nvme_info larger than PAGE_SIZE

Jason Yan (1):
      scsi: libsas: dynamically allocate and free ata host

Jeff Moyer (1):
      scsi: sg: clean up gfp_mask in sg_build_indirect

Jia-Ju Bai (3):
      scsi: atp870u: Replace mdelay() with msleep()
      scsi: a100u2w: Replace mdelay() with msleep()
      scsi: message: fusion: Replace GFP_ATOMIC with GFP_KERNEL

Jianchao Wang (1):
      scsi: core: use blk_mq_run_hw_queues in scsi_kick_queue

Jitendra Bhivare (1):
      scsi: be2iscsi: Include null char in SET_HOST_DATA

Johannes Thumshirn (10):
      scsi: remove NCR_Q720 driver
      scsi: remove NCR_D700 driver
      scsi: ncr53c8xx: remove ScsiResult macro
      scsi: lpfc: remove ScsiResult macro
      scsi: bfa: remove ScsiResult macro
      scsi: aacraid: remove AAC_STAT_GOOD define
      scsi: core: switch to scsi-mq by default
      scsi: don't add scsi command result bytes
      scsi: core: check for equality of result byte values
      scsi: core: remove Scsi_Cmnd typedef

John Garry (3):
      scsi: hisi_sas: Drop hisi_sas_slot_abort()
      scsi: hisi_sas: Update a couple of register settings for v3 hw
      scsi: hisi_sas: Add missing PHY spinlock init

Ketan Mukadam (1):
      scsi: be2iscsi: Update copyright

Kevin Barnett (4):
      scsi: smartpqi: fix critical ARM issue reading PQI index registers
      scsi: smartpqi: add inspur advantech ids
      scsi: smartpqi: improve error checking for sync requests
      scsi: smartpqi: improve handling for sync requests

Matthew Wilcox (3):
      scsi: Remove percpu_ida
      scsi: target: Convert target drivers to use sbitmap
      scsi: target: Abstract tag freeing

Mike Christie (24):
      scsi: target: loop, usb, vhost, xen: use target_remove_session
      scsi: tcm_fc: use target_remove_session
      scsi: target: srp, vscsi, sbp, qla: use target_remove_session
      scsi: target: add session removal function
      scsi: target: rename target_alloc_session
      scsi: target: make transport_init_session_tags static
      scsi: iscsi target: have iscsit_start_nopin_timer call __iscsit_start_nopin_timer
      scsi: target: fix __transport_register_session locking
      scsi: tcmu: use u64 for dev_size
      scsi: tcmu: use match_int for dev params
      scsi: tcmu: do not set max_blocks if data_bitmap has been setup
      scsi: tcmu: unmap if dev is configured
      scsi: tcmu: check if dev is configured before block/reset
      scsi: tcmu: use lio core se_device configuration helper
      scsi: target: add helper to check if dev is configured
      scsi: tcmu: initialize list head
      scsi: target_core_user: fix double unlock
      scsi: tcmu: Don't pass KERN_ERR to pr_err
      scsi: target: remove target_find_device
      scsi: tcmu: add module wide block/reset_netlink support
      scsi: tcmu: misc nl code cleanup
      scsi: tcmu: simplify nl interface
      scsi: tcmu: track nl commands
      scsi: tcmu: delete unused __wait

Ming Lei (3):
      scsi: core: fix scsi_host_queue_ready
      scsi: core: avoid host-wide host_busy counter for scsi_mq
      scsi: read host_busy via scsi_host_busy()

Ohad Sharabi (1):
      scsi: ufs: remove unnecessary query(DM) UPIU trace

Quinn Tran (14):
      scsi: qla2xxx: Fix issue reported by static checker for qla2x00_els_dcmd2_sp_done()
      scsi: qla2xxx: Migrate NVME N2N handling into state machine
      scsi: qla2xxx: Save frame payload size from ICB
      scsi: qla2xxx: Fix race between switch cmd completion and timeout
      scsi: qla2xxx: Fix Management Server NPort handle reservation logic
      scsi: qla2xxx: Flush mailbox commands on chip reset
      scsi: qla2xxx: Fix unintended Logout
      scsi: qla2xxx: Fix session state stuck in Get Port DB
      scsi: qla2xxx: Fix redundant fc_rport registration
      scsi: qla2xxx: Silent erroneous message
      scsi: qla2xxx: Prevent sysfs access when chip is down
      scsi: qla2xxx: Add longer window for chip reset
      scsi: qla2xxx: Fix login retry count
      scsi: qla2xxx: Fix N2N link re-connect

Sebastian Andrzej Siewior (2):
      scsi: qla2xxx: remove irq save in qla2x00_poll()
      scsi: libsas: remove irq save in sas_ata_qc_issue()

Shivasharan S (5):
      scsi: megaraid_sas: driver version upgrade
      scsi: megaraid_sas: Support FW provided TM timeout values
      scsi: megaraid_sas: Return immediately from wait_for_adapter_operational after kill adapter
      scsi: megaraid_sas: Update controller info during resume
      scsi: megaraid_sas: Do not do Kill adapter if GET_CTRL_INFO times out

Souptick Joarder (1):
      scsi: cxlflash: Change return type for fault handler

Sreekanth Reddy (1):
      scsi: mpt3sas: Fix calltrace observed while running IO & reset

Tomas Winkler (1):
      scsi: ufs: ufshcd_dump_regs to use memcpy_fromio

Varun Prakash (1):
      scsi: csiostor: update ingress pack and pad boundary value

Wen Xiong (1):
      scsi: ipr: Format HCAM overlay ID 0x41

Xiang Chen (4):
      scsi: hisi_sas: Add SATA FIS check for v3 hw
      scsi: hisi_sas: Tidy hisi_sas_task_prep()
      scsi: hisi_sas: Pre-allocate slot DMA buffers
      scsi: hisi_sas: Use dmam_alloc_coherent()

Xiaofei Tan (11):
      scsi: hisi_sas: add memory barrier in task delivery function
      scsi: hisi_sas: Implement handlers of PCIe FLR for v3 hw
      scsi: hisi_sas: relocate some common code for v3 hw
      scsi: hisi_sas: tidy host controller reset function a bit
      scsi: hisi_sas: Fix the failure of recovering PHY from STP link timeout
      scsi: hisi_sas: tidy channel interrupt handler for v3 hw
      scsi: hisi_sas: Release all remaining resources in clear nexus ha
      scsi: hisi_sas: Add a flag to filter PHY events during reset
      scsi: hisi_sas: Adjust task reject period during host reset
      scsi: hisi_sas: Fix the conflict between dev gone and host reset
      scsi: hisi_sas: Only process broadcast change in phy_bcast_v3_hw()

Xiubo Li (1):
      scsi: tcmu: remove useless code and clean up the code style.

Zhouyang Jia (1):
      scsi: bnx2i: add error handling for ioremap_nocache

liwei (4):
      scsi: arm64: defconfig: enable configs for Hisilicon ufs
      scsi: arm64: dts: add ufs dts node
      scsi: ufs: dt-bindings: add document for hisi-ufs
      scsi: ufs: add Hisilicon ufs driver code

And the diffstat:

 Documentation/devicetree/bindings/ufs/ufs-hisi.txt |  41 ++
 .../devicetree/bindings/ufs/ufshcd-pltfrm.txt      |  10 +-
 MAINTAINERS                                        |   6 -
 arch/arm64/boot/dts/hisilicon/hi3660.dtsi          |  18 +
 arch/arm64/configs/defconfig                       |   1 +
 drivers/ata/libata-core.c                          |   3 +
 drivers/ata/libata.h                               |   2 -
 drivers/infiniband/ulp/srpt/ib_srpt.c              |  11 +-
 drivers/message/fusion/mptbase.c                   |   5 +-
 drivers/message/fusion/mptctl.c                    |   4 +-
 drivers/message/fusion/mptfc.c                     |   2 +-
 drivers/message/fusion/mptsas.c                    |   1 +
 drivers/scsi/3w-9xxx.c                             |   6 +-
 drivers/scsi/3w-sas.c                              |   3 +
 drivers/scsi/3w-xxxx.c                             |   4 +-
 drivers/scsi/Kconfig                               |  33 +-
 drivers/scsi/Makefile                              |   3 -
 drivers/scsi/NCR_D700.c                            | 405 ------------
 drivers/scsi/NCR_D700.h                            |  30 -
 drivers/scsi/NCR_Q720.c                            | 376 -----------
 drivers/scsi/NCR_Q720.h                            |  29 -
 drivers/scsi/a100u2w.c                             |   4 +-
 drivers/scsi/aacraid/aachba.c                      |  41 +-
 drivers/scsi/aacraid/commsup.c                     |   2 +-
 drivers/scsi/aacraid/dpcsup.c                      |   2 +-
 drivers/scsi/aacraid/rx.c                          |   2 +-
 drivers/scsi/aacraid/sa.c                          |   2 +-
 drivers/scsi/aacraid/src.c                         |   6 +-
 drivers/scsi/advansys.c                            |  10 +-
 drivers/scsi/aha152x.c                             |  71 +-
 drivers/scsi/aha1740.c                             |   9 +-
 drivers/scsi/aha1740.h                             |   4 +-
 drivers/scsi/aic94xx/aic94xx_init.c                |   4 +-
 drivers/scsi/arcmsr/arcmsr.h                       |   2 +-
 drivers/scsi/arcmsr/arcmsr_hba.c                   |   7 +
 drivers/scsi/atp870u.c                             |  16 +-
 drivers/scsi/be2iscsi/be_cmds.c                    |   2 +-
 drivers/scsi/be2iscsi/be_iscsi.c                   |  15 +-
 drivers/scsi/be2iscsi/be_main.c                    |  23 +-
 drivers/scsi/be2iscsi/be_mgmt.c                    |  23 +-
 drivers/scsi/bfa/bfad_im.c                         |  19 +-
 drivers/scsi/bfa/bfad_im.h                         |   1 -
 drivers/scsi/bnx2i/bnx2i_hwi.c                     |   2 +
 drivers/scsi/ch.c                                  |   2 +-
 drivers/scsi/csiostor/csio_hw.c                    | 115 +++-
 drivers/scsi/csiostor/csio_wr.c                    |  84 ++-
 drivers/scsi/cxlflash/ocxl_hw.c                    |   5 +-
 drivers/scsi/cxlflash/superpipe.c                  |   6 +-
 drivers/scsi/dc395x.c                              |   5 +-
 drivers/scsi/fcoe/fcoe_ctlr.c                      |  12 +-
 drivers/scsi/gdth.c                                |  67 +-
 drivers/scsi/gdth.h                                |  10 +-
 drivers/scsi/gdth_proc.c                           |   2 +-
 drivers/scsi/hisi_sas/hisi_sas.h                   |  14 +-
 drivers/scsi/hisi_sas/hisi_sas_main.c              | 319 ++++-----
 drivers/scsi/hisi_sas/hisi_sas_v1_hw.c             |  23 +-
 drivers/scsi/hisi_sas/hisi_sas_v2_hw.c             |  21 +-
 drivers/scsi/hisi_sas/hisi_sas_v3_hw.c             | 290 ++++----
 drivers/scsi/hosts.c                               |  32 +
 drivers/scsi/ibmvscsi/ibmvfc.c                     |   2 +-
 drivers/scsi/ibmvscsi/ibmvscsi.c                   |  12 +-
 drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c           |   6 +-
 drivers/scsi/imm.c                                 |   2 +-
 drivers/scsi/ipr.c                                 |  25 +
 drivers/scsi/ipr.h                                 |   7 +
 drivers/scsi/libfc/fc_disc.c                       |  47 +-
 drivers/scsi/libfc/fc_lport.c                      | 108 ++-
 drivers/scsi/libfc/fc_rport.c                      | 100 ++-
 drivers/scsi/libiscsi.c                            |   2 +
 drivers/scsi/libiscsi_tcp.c                        |   2 +-
 drivers/scsi/libsas/sas_ata.c                      |  47 +-
 drivers/scsi/libsas/sas_discover.c                 |   2 +
 drivers/scsi/libsas/sas_scsi_host.c                |   4 +-
 drivers/scsi/lpfc/Makefile                         |   4 +-
 drivers/scsi/lpfc/lpfc.h                           |   5 +-
 drivers/scsi/lpfc/lpfc_attr.c                      | 462 +++++++------
 drivers/scsi/lpfc/lpfc_attr.h                      |   4 +-
 drivers/scsi/lpfc/lpfc_bsg.c                       |   2 +-
 drivers/scsi/lpfc/lpfc_bsg.h                       |   4 +-
 drivers/scsi/lpfc/lpfc_compat.h                    |   4 +-
 drivers/scsi/lpfc/lpfc_crtn.h                      |   3 +-
 drivers/scsi/lpfc/lpfc_ct.c                        |   2 +-
 drivers/scsi/lpfc/lpfc_debugfs.h                   |   2 +-
 drivers/scsi/lpfc/lpfc_disc.h                      |   7 +-
 drivers/scsi/lpfc/lpfc_els.c                       |  68 +-
 drivers/scsi/lpfc/lpfc_hbadisc.c                   |   2 +-
 drivers/scsi/lpfc/lpfc_hw.h                        |  20 +-
 drivers/scsi/lpfc/lpfc_hw4.h                       |  46 +-
 drivers/scsi/lpfc/lpfc_ids.h                       |   2 +-
 drivers/scsi/lpfc/lpfc_init.c                      |  28 +-
 drivers/scsi/lpfc/lpfc_logmsg.h                    |   4 +-
 drivers/scsi/lpfc/lpfc_mbox.c                      |   2 +-
 drivers/scsi/lpfc/lpfc_mem.c                       |   2 +-
 drivers/scsi/lpfc/lpfc_nl.h                        |   4 +-
 drivers/scsi/lpfc/lpfc_nportdisc.c                 |  11 +-
 drivers/scsi/lpfc/lpfc_nvme.c                      |  76 ++-
 drivers/scsi/lpfc/lpfc_nvme.h                      |   1 +
 drivers/scsi/lpfc/lpfc_nvmet.c                     |  60 +-
 drivers/scsi/lpfc/lpfc_nvmet.h                     |   2 +-
 drivers/scsi/lpfc/lpfc_scsi.c                      | 181 +++--
 drivers/scsi/lpfc/lpfc_scsi.h                      |   2 +
 drivers/scsi/lpfc/lpfc_sli.c                       |  50 +-
 drivers/scsi/lpfc/lpfc_sli.h                       |   6 +-
 drivers/scsi/lpfc/lpfc_sli4.h                      |   5 +-
 drivers/scsi/lpfc/lpfc_version.h                   |   6 +-
 drivers/scsi/lpfc/lpfc_vport.c                     |   4 +-
 drivers/scsi/lpfc/lpfc_vport.h                     |   4 +-
 drivers/scsi/megaraid.c                            |  29 +-
 drivers/scsi/megaraid.h                            |  14 +-
 drivers/scsi/megaraid/megaraid_sas.h               |  33 +-
 drivers/scsi/megaraid/megaraid_sas_base.c          |  61 +-
 drivers/scsi/megaraid/megaraid_sas_fusion.c        |  36 +-
 drivers/scsi/mesh.c                                |   4 +-
 drivers/scsi/mpt3sas/mpt3sas_base.c                | 450 ++++++-------
 drivers/scsi/mpt3sas/mpt3sas_base.h                |  30 +-
 drivers/scsi/mpt3sas/mpt3sas_config.c              |  81 ++-
 drivers/scsi/mpt3sas/mpt3sas_ctl.c                 | 395 ++++++-----
 drivers/scsi/mpt3sas/mpt3sas_scsih.c               | 461 +++++--------
 drivers/scsi/mpt3sas/mpt3sas_transport.c           |  62 +-
 drivers/scsi/mpt3sas/mpt3sas_trigger_diag.c        |  18 +-
 drivers/scsi/mpt3sas/mpt3sas_warpdrive.c           |   3 -
 drivers/scsi/ncr53c8xx.c                           |  10 +-
 drivers/scsi/nsp32_debug.c                         |   2 +-
 drivers/scsi/qedi/qedi_fw_api.c                    |  30 +-
 drivers/scsi/qedi/qedi_main.c                      |   2 +-
 drivers/scsi/qla2xxx/qla_attr.c                    |  33 +-
 drivers/scsi/qla2xxx/qla_dbg.c                     |   3 +
 drivers/scsi/qla2xxx/qla_def.h                     |  22 +-
 drivers/scsi/qla2xxx/qla_fw.h                      |   5 +
 drivers/scsi/qla2xxx/qla_gbl.h                     |   6 +-
 drivers/scsi/qla2xxx/qla_gs.c                      |  68 +-
 drivers/scsi/qla2xxx/qla_init.c                    | 729 +++++++++++++--------
 drivers/scsi/qla2xxx/qla_inline.h                  |  12 +-
 drivers/scsi/qla2xxx/qla_iocb.c                    | 154 +++--
 drivers/scsi/qla2xxx/qla_isr.c                     |   3 +-
 drivers/scsi/qla2xxx/qla_mbx.c                     | 155 +++--
 drivers/scsi/qla2xxx/qla_mid.c                     |   2 +-
 drivers/scsi/qla2xxx/qla_nvme.c                    |  15 +-
 drivers/scsi/qla2xxx/qla_nvme.h                    |   2 +-
 drivers/scsi/qla2xxx/qla_os.c                      | 133 ++--
 drivers/scsi/qla2xxx/qla_target.c                  |  29 +-
 drivers/scsi/qla2xxx/qla_tmpl.c                    |  13 +-
 drivers/scsi/qla2xxx/qla_version.h                 |   2 +-
 drivers/scsi/qla2xxx/tcm_qla2xxx.c                 |  20 +-
 drivers/scsi/qlogicpti.c                           |   2 +-
 drivers/scsi/scsi.c                                |   4 +-
 drivers/scsi/scsi.h                                |   3 -
 drivers/scsi/scsi_debug.c                          |  57 +-
 drivers/scsi/scsi_error.c                          |   6 +-
 drivers/scsi/scsi_ioctl.c                          |   4 +-
 drivers/scsi/scsi_lib.c                            | 405 +++++++-----
 drivers/scsi/scsi_scan.c                           |   2 +-
 drivers/scsi/scsi_sysfs.c                          |  22 +-
 drivers/scsi/scsi_transport_fc.c                   |   4 +-
 drivers/scsi/scsi_transport_spi.c                  |   2 +-
 drivers/scsi/scsi_typedefs.h                       |   2 -
 drivers/scsi/sd.c                                  |  15 +-
 drivers/scsi/sd_zbc.c                              |   6 -
 drivers/scsi/sg.c                                  |   7 +-
 drivers/scsi/smartpqi/smartpqi.h                   |  12 +-
 drivers/scsi/smartpqi/smartpqi_init.c              | 160 +++--
 drivers/scsi/snic/snic_debugfs.c                   |  10 +-
 drivers/scsi/snic/snic_trc.c                       |   6 +-
 drivers/scsi/st.c                                  |   3 -
 drivers/scsi/sym53c8xx_2/sym_fw.c                  |   4 -
 drivers/scsi/sym53c8xx_2/sym_glue.c                |   2 +-
 drivers/scsi/sym53c8xx_2/sym_glue.h                |   2 +-
 drivers/scsi/sym53c8xx_2/sym_hipd.c                |   3 +-
 drivers/scsi/ufs/Kconfig                           |   9 +
 drivers/scsi/ufs/Makefile                          |   1 +
 drivers/scsi/ufs/ufs-hisi.c                        | 619 +++++++++++++++++
 drivers/scsi/ufs/ufs-hisi.h                        | 115 ++++
 drivers/scsi/ufs/ufs-qcom.c                        |  21 +-
 drivers/scsi/ufs/ufshcd.c                          |  52 +-
 drivers/scsi/ufs/ufshcd.h                          |   3 +
 drivers/target/iscsi/iscsi_target_configfs.c       |   6 +-
 drivers/target/iscsi/iscsi_target_login.c          |   2 +-
 drivers/target/iscsi/iscsi_target_tpg.c            |   3 +-
 drivers/target/iscsi/iscsi_target_util.c           |  55 +-
 drivers/target/loopback/tcm_loop.c                 |  15 +-
 drivers/target/sbp/sbp_target.c                    |  18 +-
 drivers/target/target_core_configfs.c              |  12 +-
 drivers/target/target_core_device.c                |  53 +-
 drivers/target/target_core_fabric_configfs.c       |   5 +-
 drivers/target/target_core_internal.h              |   2 +-
 drivers/target/target_core_sbc.c                   |   7 +-
 drivers/target/target_core_tmr.c                   |  30 +-
 drivers/target/target_core_transport.c             | 285 ++++----
 drivers/target/target_core_ua.c                    |  43 +-
 drivers/target/target_core_ua.h                    |   3 +-
 drivers/target/target_core_user.c                  | 377 +++++++----
 drivers/target/target_core_xcopy.c                 |   5 +-
 drivers/target/tcm_fc/tfc_cmd.c                    |  10 +-
 drivers/target/tcm_fc/tfc_conf.c                   |   5 +-
 drivers/target/tcm_fc/tfc_sess.c                   |   5 +-
 drivers/usb/gadget/function/f_tcm.c                |  19 +-
 drivers/vhost/scsi.c                               |  16 +-
 drivers/xen/xen-scsiback.c                         |  17 +-
 fs/sysfs/file.c                                    |  44 ++
 include/linux/libata.h                             |   2 +
 include/linux/percpu_ida.h                         |  83 ---
 include/linux/sbitmap.h                            |   2 +
 include/linux/sysfs.h                              |  14 +
 include/scsi/libsas.h                              |   2 +-
 include/scsi/scsi_host.h                           |   1 +
 include/target/iscsi/iscsi_target_core.h           |   1 +
 include/target/target_core_backend.h               |   6 +-
 include/target/target_core_base.h                  |  16 +-
 include/target/target_core_fabric.h                |  10 +-
 lib/Makefile                                       |   2 +-
 lib/klist.c                                        |  10 +-
 lib/percpu_ida.c                                   | 370 -----------
 212 files changed, 5299 insertions(+), 4665 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/ufs/ufs-hisi.txt
 delete mode 100644 drivers/scsi/NCR_D700.c
 delete mode 100644 drivers/scsi/NCR_D700.h
 delete mode 100644 drivers/scsi/NCR_Q720.c
 delete mode 100644 drivers/scsi/NCR_Q720.h
 delete mode 100644 drivers/scsi/scsi_typedefs.h
 create mode 100644 drivers/scsi/ufs/ufs-hisi.c
 create mode 100644 drivers/scsi/ufs/ufs-hisi.h
 delete mode 100644 include/linux/percpu_ida.h
 delete mode 100644 lib/percpu_ida.c

James

---

commit 8360ebc8cce888e883d2b274445eace901276237
Merge: 94710cac0ef4 51372570ac3c
Author: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx>
Date:   Wed Aug 15 10:29:51 2018 -0700

    Merge branch 'misc' into for-next

diff --cc MAINTAINERS
index 544cac829cf4,f3de5d37179a..eeb54037b62d
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@@ -9751,17 -9750,6 +9751,11 @@@ F:	drivers/scsi/mac_scsi.
  F:	drivers/scsi/sun3_scsi.*
  F:	drivers/scsi/sun3_scsi_vme.c
  
- NCR DUAL 700 SCSI DRIVER (MICROCHANNEL)
- M:	"James E.J. Bottomley" <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx>
- L:	linux-scsi@xxxxxxxxxxxxxxx
- S:	Maintained
- F:	drivers/scsi/NCR_D700.*
- 
 +NCSI LIBRARY:
 +M:	Samuel Mendoza-Jonas <sam@xxxxxxxxxxxxxxxx>
 +S:	Maintained
 +F:	net/ncsi/
 +
  NCT6775 HARDWARE MONITOR DRIVER
  M:	Guenter Roeck <linux@xxxxxxxxxxxx>
  L:	linux-hwmon@xxxxxxxxxxxxxxx
diff --cc drivers/scsi/qla2xxx/qla_gbl.h
index 2660a48d918a,035ab18bd534..178974896b5c
--- a/drivers/scsi/qla2xxx/qla_gbl.h
+++ b/drivers/scsi/qla2xxx/qla_gbl.h
@@@ -212,9 -212,8 +212,9 @@@ extern int qla24xx_post_upd_fcport_work
  void qla2x00_handle_login_done_event(struct scsi_qla_host *, fc_port_t *,
  	uint16_t *);
  int qla24xx_post_gnl_work(struct scsi_qla_host *, fc_port_t *);
- int qla24xx_async_abort_cmd(srb_t *);
+ int qla24xx_async_abort_cmd(srb_t *, bool);
  int qla24xx_post_relogin_work(struct scsi_qla_host *vha);
 +void qla2x00_wait_for_sess_deletion(scsi_qla_host_t *);
  
  /*
   * Global Functions in qla_mid.c source file.
diff --cc drivers/scsi/qla2xxx/qla_gs.c
index 7a3744006419,407eb705f1be..a0038d879b9d
--- a/drivers/scsi/qla2xxx/qla_gs.c
+++ b/drivers/scsi/qla2xxx/qla_gs.c
@@@ -3394,19 -3383,40 +3391,40 @@@ int qla24xx_post_gpnid_work(struct scsi
  
  void qla24xx_sp_unmap(scsi_qla_host_t *vha, srb_t *sp)
  {
- 	if (sp->u.iocb_cmd.u.ctarg.req) {
- 		dma_free_coherent(&vha->hw->pdev->dev,
- 			sp->u.iocb_cmd.u.ctarg.req_allocated_size,
- 			sp->u.iocb_cmd.u.ctarg.req,
- 			sp->u.iocb_cmd.u.ctarg.req_dma);
- 		sp->u.iocb_cmd.u.ctarg.req = NULL;
- 	}
- 	if (sp->u.iocb_cmd.u.ctarg.rsp) {
- 		dma_free_coherent(&vha->hw->pdev->dev,
- 			sp->u.iocb_cmd.u.ctarg.rsp_allocated_size,
- 			sp->u.iocb_cmd.u.ctarg.rsp,
- 			sp->u.iocb_cmd.u.ctarg.rsp_dma);
- 		sp->u.iocb_cmd.u.ctarg.rsp = NULL;
+ 	struct srb_iocb *c = &sp->u.iocb_cmd;
+ 
+ 	switch (sp->type) {
+ 	case SRB_ELS_DCMD:
+ 		if (c->u.els_plogi.els_plogi_pyld)
+ 			dma_free_coherent(&vha->hw->pdev->dev,
+ 			    c->u.els_plogi.tx_size,
+ 			    c->u.els_plogi.els_plogi_pyld,
+ 			    c->u.els_plogi.els_plogi_pyld_dma);
+ 
+ 		if (c->u.els_plogi.els_resp_pyld)
+ 			dma_free_coherent(&vha->hw->pdev->dev,
+ 			    c->u.els_plogi.rx_size,
+ 			    c->u.els_plogi.els_resp_pyld,
+ 			    c->u.els_plogi.els_resp_pyld_dma);
+ 		break;
+ 	case SRB_CT_PTHRU_CMD:
+ 	default:
+ 		if (sp->u.iocb_cmd.u.ctarg.req) {
+ 			dma_free_coherent(&vha->hw->pdev->dev,
 -			    sizeof(struct ct_sns_pkt),
++			    sp->u.iocb_cmd.u.ctarg.req_allocated_size,
+ 			    sp->u.iocb_cmd.u.ctarg.req,
+ 			    sp->u.iocb_cmd.u.ctarg.req_dma);
+ 			sp->u.iocb_cmd.u.ctarg.req = NULL;
+ 		}
+ 
+ 		if (sp->u.iocb_cmd.u.ctarg.rsp) {
+ 			dma_free_coherent(&vha->hw->pdev->dev,
 -			    sizeof(struct ct_sns_pkt),
++			    sp->u.iocb_cmd.u.ctarg.rsp_allocated_size,
+ 			    sp->u.iocb_cmd.u.ctarg.rsp,
+ 			    sp->u.iocb_cmd.u.ctarg.rsp_dma);
+ 			sp->u.iocb_cmd.u.ctarg.rsp = NULL;
+ 		}
+ 		break;
  	}
  
  	sp->free(sp);
diff --cc drivers/scsi/qla2xxx/qla_init.c
index 1b19b954bbae,f52c68b4da44..c09e86f7fdb7
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
@@@ -578,34 -693,76 +693,79 @@@ static void qla24xx_handle_gnl_done_eve
  	}
  
  	if (!found) {
- 		/* fw has no record of this port */
- 		for (i = 0; i < n; i++) {
- 			e = &vha->gnl.l[i];
- 			id.b.domain = e->port_id[0];
- 			id.b.area = e->port_id[1];
- 			id.b.al_pa = e->port_id[2];
- 			id.b.rsvd_1 = 0;
- 			loop_id = le16_to_cpu(e->nport_handle);
- 
- 			if (fcport->d_id.b24 == id.b24) {
- 				conflict_fcport =
- 					qla2x00_find_fcport_by_wwpn(vha,
- 					    e->port_name, 0);
- 				if (conflict_fcport) {
- 					qlt_schedule_sess_for_deletion
- 						(conflict_fcport);
- 					ql_dbg(ql_dbg_disc, vha, 0x20e6,
- 					    "%s %d %8phC post del sess\n",
- 					    __func__, __LINE__,
- 					    conflict_fcport->port_name);
+ 		switch (vha->hw->current_topology) {
+ 		case ISP_CFG_F:
+ 		case ISP_CFG_FL:
+ 			for (i = 0; i < n; i++) {
+ 				e = &vha->gnl.l[i];
+ 				id.b.domain = e->port_id[0];
+ 				id.b.area = e->port_id[1];
+ 				id.b.al_pa = e->port_id[2];
+ 				id.b.rsvd_1 = 0;
+ 				loop_id = le16_to_cpu(e->nport_handle);
+ 
+ 				if (fcport->d_id.b24 == id.b24) {
+ 					conflict_fcport =
+ 					    qla2x00_find_fcport_by_wwpn(vha,
+ 						e->port_name, 0);
 -					ql_dbg(ql_dbg_disc + ql_dbg_verbose,
 -					    vha, 0x20e5,
 -					    "%s %d %8phC post del sess\n",
 -					    __func__, __LINE__,
 -					    conflict_fcport->port_name);
 -					qlt_schedule_sess_for_deletion
 -						(conflict_fcport);
++					if (conflict_fcport) {
++						ql_dbg(ql_dbg_disc
++						       + ql_dbg_verbose,
++						       vha, 0x20e5,
++						       "%s %d %8phC post del sess\n",
++						       __func__, __LINE__,
++						       conflict_fcport->port_name);
++						qlt_schedule_sess_for_deletion
++							(conflict_fcport);
++					}
  				}
+ 				/*
+ 				 * FW already picked this loop id for
+ 				 * another fcport
+ 				 */
+ 				if (fcport->loop_id == loop_id)
+ 					fcport->loop_id = FC_NO_LOOP_ID;
  			}
- 
- 			/* FW already picked this loop id for another fcport */
- 			if (fcport->loop_id == loop_id)
- 				fcport->loop_id = FC_NO_LOOP_ID;
+ 			qla24xx_fcport_handle_login(vha, fcport);
+ 			break;
+ 		case ISP_CFG_N:
+ 			fcport->disc_state = DSC_DELETED;
+ 			if (time_after_eq(jiffies, fcport->dm_login_expire)) {
+ 				if (fcport->n2n_link_reset_cnt < 2) {
+ 					fcport->n2n_link_reset_cnt++;
+ 					/*
+ 					 * remote port is not sending PLOGI.
+ 					 * Reset link to kick start his state
+ 					 * machine
+ 					 */
+ 					set_bit(N2N_LINK_RESET,
+ 					    &vha->dpc_flags);
+ 				} else {
+ 					if (fcport->n2n_chip_reset < 1) {
+ 						ql_log(ql_log_info, vha, 0x705d,
+ 						    "Chip reset to bring laser down");
+ 						set_bit(ISP_ABORT_NEEDED,
+ 						    &vha->dpc_flags);
+ 						fcport->n2n_chip_reset++;
+ 					} else {
+ 						ql_log(ql_log_info, vha, 0x705d,
+ 						    "Remote port %8ph is not coming back\n",
+ 						    fcport->port_name);
+ 						fcport->scan_state = 0;
+ 					}
+ 				}
+ 				qla2xxx_wake_dpc(vha);
+ 			} else {
+ 				/*
+ 				 * report port suppose to do PLOGI. Give him
+ 				 * more time. FW will catch it.
+ 				 */
+ 				set_bit(RELOGIN_NEEDED, &vha->dpc_flags);
+ 			}
+ 			break;
+ 		default:
+ 			break;
  		}
- 		qla24xx_fcport_handle_login(vha, fcport);
  	}
  } /* gnl_event */
  



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux