Commit 32a80c09 authored by James Smart's avatar James Smart Committed by Martin K. Petersen
Browse files

scsi: lpfc: Fix fc4type information for FDMI



The driver is reporting support for NVME even when not configured for NVME
operation.

Fix (and make more readable) when NVME protocol support is indicated.

Signed-off-by: default avatarDick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: default avatarJames Smart <jsmart2021@gmail.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent d67f935b
Loading
Loading
Loading
Loading
+10 −7
Original line number Diff line number Diff line
@@ -2363,10 +2363,11 @@ lpfc_fdmi_port_attr_fc4type(struct lpfc_vport *vport,
	ae = (struct lpfc_fdmi_attr_entry *)&ad->AttrValue;
	memset(ae, 0, 32);

	ae->un.AttrTypes[3] = 0x02; /* Type 1 - ELS */
	ae->un.AttrTypes[2] = 0x01; /* Type 8 - FCP */
	ae->un.AttrTypes[6] = 0x01; /* Type 40 - NVME */
	ae->un.AttrTypes[7] = 0x01; /* Type 32 - CT */
	ae->un.AttrTypes[3] = 0x02; /* Type 0x1 - ELS */
	ae->un.AttrTypes[2] = 0x01; /* Type 0x8 - FCP */
	if (vport->nvmei_support || vport->phba->nvmet_support)
		ae->un.AttrTypes[6] = 0x01; /* Type 0x28 - NVME */
	ae->un.AttrTypes[7] = 0x01; /* Type 0x20 - CT */
	size = FOURBYTES + 32;
	ad->AttrLen = cpu_to_be16(size);
	ad->AttrType = cpu_to_be16(RPRT_SUPPORTED_FC4_TYPES);
@@ -2676,9 +2677,11 @@ lpfc_fdmi_port_attr_active_fc4type(struct lpfc_vport *vport,
	ae = (struct lpfc_fdmi_attr_entry *)&ad->AttrValue;
	memset(ae, 0, 32);

	ae->un.AttrTypes[3] = 0x02; /* Type 1 - ELS */
	ae->un.AttrTypes[2] = 0x01; /* Type 8 - FCP */
	ae->un.AttrTypes[7] = 0x01; /* Type 32 - CT */
	ae->un.AttrTypes[3] = 0x02; /* Type 0x1 - ELS */
	ae->un.AttrTypes[2] = 0x01; /* Type 0x8 - FCP */
	if (vport->phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME)
		ae->un.AttrTypes[6] = 0x1; /* Type 0x28 - NVME */
	ae->un.AttrTypes[7] = 0x01; /* Type 0x20 - CT */
	size = FOURBYTES + 32;
	ad->AttrLen = cpu_to_be16(size);
	ad->AttrType = cpu_to_be16(RPRT_ACTIVE_FC4_TYPES);