scsi: lpfc: Fix NVMEI's handling of NVMET's PRLI response attributes
authorJames Smart <jsmart2021@gmail.com>
Mon, 15 May 2017 22:20:50 +0000 (15:20 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 17 May 2017 01:24:17 +0000 (21:24 -0400)
commitdc53a61852279f25909d99dad4638b4aee0b2d82
treebc8f847a0677cf5b19df3d1f9806c6b1165e88c7
parent64eb4dcb140a7c5547f6e965fb471b1b75c01108
scsi: lpfc: Fix NVMEI's handling of NVMET's PRLI response attributes

Code review of NVMEI's FC_PORT_ROLE_NVME_DISCOVERY looked wrong.

Discussions with storage architecture team clarified NVMEI's audit of
the PRLI response port roles.  Following up discussion with code review
showed a few minor corrections were required - especially in
anticipation of NVME auto discovery.

During PRLI, NVMEI should sent prli_init - which it it does.  NVMET
should send prli_tgt and prli_disc - which it does.  When NVMEI receives
a PRLI Response now, it audits the incoming target bits and stores the
attributes in the corresponding NDLP.  Later, when NVMEI registers the
NVME rport, it uses the stored ndlp attributes to set the rport
port_roles correctly.

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>
drivers/scsi/lpfc/lpfc_disc.h
drivers/scsi/lpfc/lpfc_nportdisc.c