Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 92b43617 authored by James Smart's avatar James Smart Committed by Greg Kroah-Hartman
Browse files

scsi: lpfc: Correct topology type reporting on G7 adapters



[ Upstream commit 76558b25733140a0c6bd53ea8af04b2811c92ec3 ]

Driver missed classifying the chip type for G7 when reporting supported
topologies. This resulted in loop being shown as supported on FC links that
are not supported per the standard.

Add the chip classifications to the topology checks in the driver.

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>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 94fe147f
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -3849,7 +3849,8 @@ lpfc_topology_store(struct device *dev, struct device_attribute *attr,
				val);
			return -EINVAL;
		}
		if (phba->pcidev->device == PCI_DEVICE_ID_LANCER_G6_FC &&
		if ((phba->pcidev->device == PCI_DEVICE_ID_LANCER_G6_FC ||
		     phba->pcidev->device == PCI_DEVICE_ID_LANCER_G7_FC) &&
		    val == 4) {
			lpfc_printf_vlog(vport, KERN_ERR, LOG_INIT,
				"3114 Loop mode not supported\n");
+3 −3
Original line number Diff line number Diff line
@@ -513,9 +513,9 @@ lpfc_init_link(struct lpfc_hba * phba,
		break;
	}

	if (phba->pcidev->device == PCI_DEVICE_ID_LANCER_G6_FC &&
	if ((phba->pcidev->device == PCI_DEVICE_ID_LANCER_G6_FC ||
	     phba->pcidev->device == PCI_DEVICE_ID_LANCER_G7_FC) &&
	    mb->un.varInitLnk.link_flags & FLAGS_TOPOLOGY_MODE_LOOP) {
		/* Failover is not tried for Lancer G6 */
		mb->un.varInitLnk.link_flags = FLAGS_TOPOLOGY_MODE_PT_PT;
		phba->cfg_topology = FLAGS_TOPOLOGY_MODE_PT_PT;
	}