linux/drivers/scsi/lpfc
James Smart 7a06dcd3f8 scsi: lpfc: Add nvme initiator devloss support
Add nvme initiator devloss support

The existing implementation was based on no devloss behavior in the
transport (e.g. immediate teardown) so code didn't properly handle
delayed nvme rport device unregister calls.  In addition, the driver was
not correctly cycling the rport port role for each
register-unregister-reregister process.

This patch does the following:

Rework the code to properly handle rport device unregister calls and
potential re-allocation of the remoteport structure if the port comes
back in under dev_loss_tmo.

Correct code that was incorrectly cycling the rport port role for each
register-unregister-reregister process.

Prep the code to enable calling the nvme_fc transport api to dynamically
update dev_loss_tmo when the scsi sysfs interface changes it.

Memset the rpinfo structure in the registration call to enforce "accept
nvme transport defaults" in the registration call.  Driver parameters do
influence the dev_loss_tmo transport setting dynamically.

Simplifies the register function: the driver was incorrectly searching
its local rport list to determine resume or new semantics, which is not
valid as the transport already handles this.  The rport was resumed if
the rport handed back matches the ndlp->nrport pointer.  Otherwise,
devloss fired and the ndlp's nrport is NULL.

Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <james.smart@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2017-06-12 21:37:30 -04:00
..
lpfc_attr.c scsi: lpfc: Add nvme initiator devloss support 2017-06-12 21:37:30 -04:00
lpfc_attr.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_bsg.c Fix crash after issuing lip reset 2017-04-24 09:25:49 +02:00
lpfc_bsg.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_compat.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_crtn.h scsi: lpfc: Avoid NULL pointer dereference in lpfc_els_abort() 2017-05-31 22:44:13 -04:00
lpfc_ct.c scsi: lpfc: prevent potential null pointer dereference 2017-05-31 22:45:15 -04:00
lpfc_debugfs.c scsi: lpfc: fix spelling mistake "entrys" -> "entries" 2017-06-12 20:48:05 -04:00
lpfc_debugfs.h scsi: lpfc: fix building without debugfs support 2017-03-23 11:28:43 -04:00
lpfc_disc.h scsi: lpfc: Fix NVMEI's handling of NVMET's PRLI response attributes 2017-05-16 21:24:17 -04:00
lpfc_els.c scsi: lpfc: Fix NULL pointer dereference during PCI error recovery 2017-05-17 20:19:23 -04:00
lpfc_hbadisc.c scsi: lpfc: Add MDS Diagnostic support. 2017-05-16 21:24:47 -04:00
lpfc_hw4.h scsi: lpfc: Add MDS Diagnostic support. 2017-05-16 21:24:47 -04:00
lpfc_hw.h Add Fabric assigned WWN support. 2017-04-24 09:25:49 +02:00
lpfc_ids.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_init.c scsi: lpfc: Add MDS Diagnostic support. 2017-05-16 21:24:47 -04:00
lpfc_logmsg.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_mbox.c Update ABORT processing for NVMET. 2017-04-24 09:25:49 +02:00
lpfc_mem.c scsi: lpfc: Separate NVMET RQ buffer posting from IO resources SGL/iocbq/context 2017-05-16 21:21:47 -04:00
lpfc_nl.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_nportdisc.c scsi: lpfc: Avoid NULL pointer dereference in lpfc_els_abort() 2017-05-31 22:44:13 -04:00
lpfc_nvme.c scsi: lpfc: Add nvme initiator devloss support 2017-06-12 21:37:30 -04:00
lpfc_nvme.h lpfc: Fix memory corruption of the lpfc_ncmd->list pointers 2017-04-25 20:00:58 +02:00
lpfc_nvmet.c scsi: lpfc: make a couple of functions static 2017-06-12 21:04:42 -04:00
lpfc_nvmet.h scsi: lpfc: Separate NVMET RQ buffer posting from IO resources SGL/iocbq/context 2017-05-16 21:21:47 -04:00
lpfc_scsi.c scsi: lpfc: add transport eh_timed_out reference 2017-03-06 23:04:22 -05:00
lpfc_scsi.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_sli4.h scsi: lpfc: Cleanup entry_repost settings on SLI4 queues 2017-05-16 21:23:42 -04:00
lpfc_sli.c scsi: lpfc: Add MDS Diagnostic support. 2017-05-16 21:24:47 -04:00
lpfc_sli.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_version.h scsi: lpfc: update version to 11.2.0.14 2017-05-16 21:25:09 -04:00
lpfc_vport.c Fix crash after issuing lip reset 2017-04-24 09:25:49 +02:00
lpfc_vport.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc.h scsi: lpfc: Add MDS Diagnostic support. 2017-05-16 21:24:47 -04:00
Makefile scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00