linux/drivers/scsi/lpfc
James Smart 815a9c4376 scsi: lpfc: Fix nonrecovery of NVME controller after cable swap.
In a test that is doing large numbers of cable swaps on the target, the
nvme controllers wouldn't reconnect.

During the cable swaps, the targets n_port_id would change. This
information was passed to the nvme-fc transport, in the new remoteport
registration. However, the nvme-fc transport didn't update the n_port_id
value in the remoteport struct when it reused an existing structure.
Later, when a new association was attempted on the remoteport, the
driver's NVME LS routine would use the stale n_port_id from the
remoteport struct to address the LS. As the device is no longer at that
address, the LS would go into never never land.

Separately, the nvme-fc transport will be corrected to update the
n_port_id value on a re-registration.

However, for now, there's no reason to use the transports values.  The
private pointer points to the drivers node structure and the node
structure is up to date. Therefore, revise the LS routine to use the
drivers data structures for the LS. Augmented the debug message for
better debugging in the future.

Also removed a duplicate if check that seems to have slipped in.

Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <james.smart@broadcom.com>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2018-02-12 11:43:24 -05:00
..
lpfc_attr.c scsi: lpfc: Fix issue_lip if link is disabled 2018-02-12 11:43:23 -05:00
lpfc_attr.h scsi: lpfc: Add Buffer to Buffer credit recovery support 2017-08-24 22:29:43 -04:00
lpfc_bsg.c scsi: lpfc: Fix crash receiving ELS while detaching driver 2017-10-02 22:46:33 -04: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: Add WQ Full Logic for NVME Target 2018-02-12 11:43:23 -05:00
lpfc_ct.c scsi: lpfc: Fix SCSI LUN discovery when SCSI and NVME enabled 2017-12-20 21:11:46 -05:00
lpfc_debugfs.c scsi: lpfc: Beef up stat counters for debug 2017-12-20 21:11:48 -05:00
lpfc_debugfs.h scsi: lpfc: avoid false-positive gcc-8 warning 2017-08-25 18:26:52 -04:00
lpfc_disc.h scsi: lpfc: Correct driver deregistrations with host nvme transport 2017-12-04 20:32:54 -05:00
lpfc_els.c scsi: lpfc: Indicate CONF support in NVMe PRLI 2018-02-12 11:43:23 -05:00
lpfc_hbadisc.c scsi: lpfc: Fix soft lockup in lpfc worker thread during LIP testing 2018-02-12 11:43:23 -05:00
lpfc_hw4.h scsi: lpfc: Validate adapter support for SRIU option 2018-02-12 11:43:24 -05:00
lpfc_hw.h scsi: lpfc: Add Buffer to Buffer credit recovery support 2017-08-24 22:29:43 -04:00
lpfc_ids.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_init.c scsi: lpfc: Validate adapter support for SRIU option 2018-02-12 11:43:24 -05:00
lpfc_logmsg.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_mbox.c scsi: lpfc: Fix PRLI handling when topology type changes 2018-02-12 11:43:23 -05:00
lpfc_mem.c scsi: lpfc: Fix RQ empty firmware trap 2018-02-12 11:43:23 -05:00
lpfc_nl.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_nportdisc.c scsi: lpfc: Indicate CONF support in NVMe PRLI 2018-02-12 11:43:23 -05:00
lpfc_nvme.c scsi: lpfc: Fix nonrecovery of NVME controller after cable swap. 2018-02-12 11:43:24 -05:00
lpfc_nvme.h scsi: lpfc: Beef up stat counters for debug 2017-12-20 21:11:48 -05:00
lpfc_nvmet.c scsi: lpfc: Fix header inclusion in lpfc_nvmet 2018-02-12 11:43:24 -05:00
lpfc_nvmet.h scsi: lpfc: Fix RQ empty firmware trap 2018-02-12 11:43:23 -05:00
lpfc_scsi.c scsi: lpfc: Treat SCSI Write operation Underruns as an error 2018-02-12 11:43:24 -05:00
lpfc_scsi.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc_sli4.h scsi: lpfc: Add WQ Full Logic for NVME Target 2018-02-12 11:43:23 -05:00
lpfc_sli.c scsi: lpfc: Fix SCSI io host reset causing kernel crash 2018-02-12 11:43:23 -05:00
lpfc_sli.h scsi: lpfc: Add auto EQ delay logic 2017-06-12 21:37:31 -04:00
lpfc_version.h scsi: lpfc: update driver version to 11.4.0.6 2017-12-20 21:11:48 -05:00
lpfc_vport.c scsi: lpfc: Disable NPIV support if NVME is enabled 2017-10-02 22:46:39 -04:00
lpfc_vport.h scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00
lpfc.h scsi: lpfc: Increase CQ and WQ sizes for SCSI 2018-02-12 11:43:22 -05:00
Makefile scsi: lpfc: Update copyrights 2017-02-22 18:41:44 -05:00