Blame SOURCES/0001-add-deprecated-ids.patch

2e2de4
--- a/src/lpfc_attr.c
2e2de4
+++ b/src/lpfc_attr.c
Kmods SIG 17d1fb
@@ -7553,6 +7553,12 @@
2e2de4
 	switch (phba->pcidev->device) {
2e2de4
 	case PCI_DEVICE_ID_SKYHAWK:
2e2de4
 	case PCI_DEVICE_ID_SKYHAWK_VF:
2e2de4
+	case PCI_DEVICE_ID_LANCER_FCOE:
2e2de4
+	case PCI_DEVICE_ID_LANCER_FCOE_VF:
2e2de4
+	case PCI_DEVICE_ID_ZEPHYR_DCSP:
2e2de4
+	case PCI_DEVICE_ID_HORNET:
2e2de4
+	case PCI_DEVICE_ID_TIGERSHARK:
2e2de4
+	case PCI_DEVICE_ID_TOMCAT:
2e2de4
 		phba->hba_flag |= HBA_FCOE_MODE;
2e2de4
 		break;
2e2de4
 	default:
2e2de4
--- a/src/lpfc_els.c
2e2de4
+++ b/src/lpfc_els.c
Kmods SIG 17d1fb
@@ -4516,6 +4516,15 @@
2e2de4
 	case IOSTAT_LOCAL_REJECT:
2e2de4
 		switch ((irsp->un.ulpWord[4] & IOERR_PARAM_MASK)) {
2e2de4
 		case IOERR_LOOP_OPEN_FAILURE:
2e2de4
+			if (cmd == ELS_CMD_FLOGI) {
2e2de4
+				if (PCI_DEVICE_ID_HORNET ==
2e2de4
+					phba->pcidev->device) {
2e2de4
+					phba->fc_topology = LPFC_TOPOLOGY_LOOP;
2e2de4
+					phba->pport->fc_myDID = 0;
2e2de4
+					phba->alpa_map[0] = 0;
2e2de4
+					phba->alpa_map[1] = 0;
2e2de4
+				}
2e2de4
+			}
2e2de4
 			if (cmd == ELS_CMD_PLOGI && cmdiocb->retry == 0)
2e2de4
 				delay = 1000;
2e2de4
 			retry = 1;
2e2de4
--- a/src/lpfc_hw.h
2e2de4
+++ b/src/lpfc_hw.h
Kmods SIG 17d1fb
@@ -1687,25 +1687,55 @@
2e2de4
 
2e2de4
 /* Start FireFly Register definitions */
2e2de4
 #define PCI_VENDOR_ID_EMULEX        0x10df
2e2de4
+#define PCI_DEVICE_ID_FIREFLY       0x1ae5
2e2de4
+#define PCI_DEVICE_ID_PROTEUS_VF    0xe100
2e2de4
+#define PCI_DEVICE_ID_BALIUS        0xe131
2e2de4
+#define PCI_DEVICE_ID_PROTEUS_PF    0xe180
2e2de4
 #define PCI_DEVICE_ID_LANCER_FC     0xe200
2e2de4
+#define PCI_DEVICE_ID_LANCER_FC_VF  0xe208
2e2de4
 #define PCI_DEVICE_ID_LANCER_FCOE   0xe260
2e2de4
+#define PCI_DEVICE_ID_LANCER_FCOE_VF 0xe268
2e2de4
 #define PCI_DEVICE_ID_LANCER_G6_FC  0xe300
2e2de4
 #define PCI_DEVICE_ID_LANCER_G7_FC  0xf400
Kmods SIG 17d1fb
 #define PCI_DEVICE_ID_LANCER_G7P_FC 0xf500
2e2de4
 #define PCI_DEVICE_ID_SAT_SMB       0xf011
2e2de4
 #define PCI_DEVICE_ID_SAT_MID       0xf015
2e2de4
+#define PCI_DEVICE_ID_RFLY          0xf095
2e2de4
+#define PCI_DEVICE_ID_PFLY          0xf098
2e2de4
+#define PCI_DEVICE_ID_LP101         0xf0a1
2e2de4
+#define PCI_DEVICE_ID_TFLY          0xf0a5
2e2de4
+#define PCI_DEVICE_ID_BSMB          0xf0d1
2e2de4
 #define PCI_DEVICE_ID_BMID          0xf0d5
2e2de4
 #define PCI_DEVICE_ID_ZSMB          0xf0e1
2e2de4
 #define PCI_DEVICE_ID_ZMID          0xf0e5
2e2de4
+#define PCI_DEVICE_ID_NEPTUNE       0xf0f5
2e2de4
+#define PCI_DEVICE_ID_NEPTUNE_SCSP  0xf0f6
2e2de4
+#define PCI_DEVICE_ID_NEPTUNE_DCSP  0xf0f7
2e2de4
 #define PCI_DEVICE_ID_SAT           0xf100
2e2de4
 #define PCI_DEVICE_ID_SAT_SCSP      0xf111
2e2de4
 #define PCI_DEVICE_ID_SAT_DCSP      0xf112
2e2de4
 #define PCI_DEVICE_ID_FALCON        0xf180
2e2de4
+#define PCI_DEVICE_ID_SUPERFLY      0xf700
2e2de4
+#define PCI_DEVICE_ID_DRAGONFLY     0xf800
2e2de4
+#define PCI_DEVICE_ID_CENTAUR       0xf900
2e2de4
+#define PCI_DEVICE_ID_PEGASUS       0xf980
2e2de4
+#define PCI_DEVICE_ID_THOR          0xfa00
2e2de4
+#define PCI_DEVICE_ID_VIPER         0xfb00
2e2de4
+#define PCI_DEVICE_ID_LP10000S      0xfc00
2e2de4
+#define PCI_DEVICE_ID_LP11000S      0xfc10
2e2de4
+#define PCI_DEVICE_ID_LPE11000S     0xfc20
2e2de4
 #define PCI_DEVICE_ID_SAT_S         0xfc40
2e2de4
+#define PCI_DEVICE_ID_PROTEUS_S     0xfc50
2e2de4
+#define PCI_DEVICE_ID_HELIOS        0xfd00
2e2de4
+#define PCI_DEVICE_ID_HELIOS_SCSP   0xfd11
2e2de4
+#define PCI_DEVICE_ID_HELIOS_DCSP   0xfd12
2e2de4
 #define PCI_DEVICE_ID_ZEPHYR        0xfe00
2e2de4
+#define PCI_DEVICE_ID_HORNET        0xfe05
2e2de4
 #define PCI_DEVICE_ID_ZEPHYR_SCSP   0xfe11
2e2de4
 #define PCI_DEVICE_ID_ZEPHYR_DCSP   0xfe12
2e2de4
 #define PCI_VENDOR_ID_SERVERENGINE  0x19a2
2e2de4
+#define PCI_DEVICE_ID_TIGERSHARK    0x0704
2e2de4
+#define PCI_DEVICE_ID_TOMCAT        0x0714
2e2de4
 #define PCI_DEVICE_ID_SKYHAWK       0x0724
2e2de4
 #define PCI_DEVICE_ID_SKYHAWK_VF    0x072c
2e2de4
 
Kmods SIG 17d1fb
@@ -4324,11 +4354,16 @@
2e2de4
 static inline int
2e2de4
 lpfc_is_LC_HBA(unsigned short device)
2e2de4
 {
2e2de4
-	if ((device == PCI_DEVICE_ID_BMID) ||
2e2de4
+	if ((device == PCI_DEVICE_ID_TFLY) ||
2e2de4
+	    (device == PCI_DEVICE_ID_PFLY) ||
2e2de4
+	    (device == PCI_DEVICE_ID_LP101) ||
2e2de4
+	    (device == PCI_DEVICE_ID_BMID) ||
2e2de4
+	    (device == PCI_DEVICE_ID_BSMB) ||
2e2de4
 	    (device == PCI_DEVICE_ID_ZMID) ||
2e2de4
 	    (device == PCI_DEVICE_ID_ZSMB) ||
2e2de4
 	    (device == PCI_DEVICE_ID_SAT_MID) ||
2e2de4
-	    (device == PCI_DEVICE_ID_SAT_SMB))
2e2de4
+	    (device == PCI_DEVICE_ID_SAT_SMB) ||
2e2de4
+	    (device == PCI_DEVICE_ID_RFLY))
2e2de4
 		return 1;
2e2de4
 	else
2e2de4
 		return 0;
2e2de4
--- a/src/lpfc_ids.h
2e2de4
+++ b/src/lpfc_ids.h
2e2de4
@@ -24,10 +24,44 @@
2e2de4
 #include <linux/pci.h>
2e2de4
 
2e2de4
 const struct pci_device_id lpfc_id_table[] = {
2e2de4
+	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_VIPER,
2e2de4
+		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
+	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_FIREFLY,
2e2de4
+		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
+	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_THOR,
2e2de4
+		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
+	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PEGASUS,
2e2de4
+		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
+	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_CENTAUR,
2e2de4
+		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
+	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_DRAGONFLY,
2e2de4
+		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
+	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SUPERFLY,
2e2de4
+		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
+	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_RFLY,
2e2de4
+		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
+	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PFLY,
2e2de4
+		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
+	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_NEPTUNE,
2e2de4
+		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
+	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_NEPTUNE_SCSP,
2e2de4
+		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
+	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_NEPTUNE_DCSP,
2e2de4
+		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
+	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_HELIOS,
2e2de4
+		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
+	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_HELIOS_SCSP,
2e2de4
+		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
+	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_HELIOS_DCSP,
2e2de4
+		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
 	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_BMID,
2e2de4
 		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
+	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_BSMB,
2e2de4
+		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
 	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZEPHYR,
2e2de4
 		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
+	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_HORNET,
2e2de4
+		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
 	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZEPHYR_SCSP,
2e2de4
 		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
 	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZEPHYR_DCSP,
2e2de4
@@ -36,6 +70,16 @@
2e2de4
 		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
 	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZSMB,
2e2de4
 		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
+	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_TFLY,
2e2de4
+		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
+	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LP101,
2e2de4
+		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
+	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LP10000S,
2e2de4
+		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
+	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LP11000S,
2e2de4
+		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
+	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LPE11000S,
2e2de4
+		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
 	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SAT,
2e2de4
 		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
 	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SAT_MID,
2e2de4
@@ -48,10 +92,28 @@
2e2de4
 		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
 	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SAT_S,
2e2de4
 		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
+	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PROTEUS_VF,
2e2de4
+		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
+	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PROTEUS_PF,
2e2de4
+		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
+	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PROTEUS_S,
2e2de4
+		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
+	{PCI_VENDOR_ID_SERVERENGINE, PCI_DEVICE_ID_TIGERSHARK,
2e2de4
+		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
+	{PCI_VENDOR_ID_SERVERENGINE, PCI_DEVICE_ID_TOMCAT,
2e2de4
+		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
 	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_FALCON,
2e2de4
 		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
+	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_BALIUS,
2e2de4
+		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
 	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FC,
2e2de4
 		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
+	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FCOE,
2e2de4
+		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
+	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FC_VF,
2e2de4
+		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
+	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FCOE_VF,
2e2de4
+		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
 	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_G6_FC,
2e2de4
 		PCI_ANY_ID, PCI_ANY_ID, },
2e2de4
 	{PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_G7_FC,
2e2de4
--- a/src/lpfc_init.c
2e2de4
+++ b/src/lpfc_init.c
Kmods SIG 17d1fb
@@ -2468,9 +2468,83 @@
2e2de4
 	vp = &phba->vpd;
2e2de4
 
2e2de4
 	switch (dev_id) {
2e2de4
+	case PCI_DEVICE_ID_FIREFLY:
2e2de4
+		m = (typeof(m)){"LP6000", "PCI",
2e2de4
+				"Obsolete, Unsupported Fibre Channel Adapter"};
2e2de4
+		break;
2e2de4
+	case PCI_DEVICE_ID_SUPERFLY:
2e2de4
+		if (vp->rev.biuRev >= 1 && vp->rev.biuRev <= 3)
2e2de4
+			m = (typeof(m)){"LP7000", "PCI", ""};
2e2de4
+		else
2e2de4
+			m = (typeof(m)){"LP7000E", "PCI", ""};
2e2de4
+		m.function = "Obsolete, Unsupported Fibre Channel Adapter";
2e2de4
+		break;
2e2de4
+	case PCI_DEVICE_ID_DRAGONFLY:
2e2de4
+		m = (typeof(m)){"LP8000", "PCI",
2e2de4
+				"Obsolete, Unsupported Fibre Channel Adapter"};
2e2de4
+		break;
2e2de4
+	case PCI_DEVICE_ID_CENTAUR:
2e2de4
+		if (FC_JEDEC_ID(vp->rev.biuRev) == CENTAUR_2G_JEDEC_ID)
2e2de4
+			m = (typeof(m)){"LP9002", "PCI", ""};
2e2de4
+		else
2e2de4
+			m = (typeof(m)){"LP9000", "PCI", ""};
2e2de4
+		m.function = "Obsolete, Unsupported Fibre Channel Adapter";
2e2de4
+		break;
2e2de4
+	case PCI_DEVICE_ID_RFLY:
2e2de4
+		m = (typeof(m)){"LP952", "PCI",
2e2de4
+				"Obsolete, Unsupported Fibre Channel Adapter"};
2e2de4
+		break;
2e2de4
+	case PCI_DEVICE_ID_PEGASUS:
2e2de4
+		m = (typeof(m)){"LP9802", "PCI-X",
2e2de4
+				"Obsolete, Unsupported Fibre Channel Adapter"};
2e2de4
+		break;
2e2de4
+	case PCI_DEVICE_ID_THOR:
2e2de4
+		m = (typeof(m)){"LP10000", "PCI-X",
2e2de4
+				"Obsolete, Unsupported Fibre Channel Adapter"};
2e2de4
+		break;
2e2de4
+	case PCI_DEVICE_ID_VIPER:
2e2de4
+		m = (typeof(m)){"LPX1000",  "PCI-X",
2e2de4
+				"Obsolete, Unsupported Fibre Channel Adapter"};
2e2de4
+		break;
2e2de4
+	case PCI_DEVICE_ID_PFLY:
2e2de4
+		m = (typeof(m)){"LP982", "PCI-X",
2e2de4
+				"Obsolete, Unsupported Fibre Channel Adapter"};
2e2de4
+		break;
2e2de4
+	case PCI_DEVICE_ID_TFLY:
2e2de4
+		m = (typeof(m)){"LP1050", "PCI-X",
2e2de4
+				"Obsolete, Unsupported Fibre Channel Adapter"};
2e2de4
+		break;
2e2de4
+	case PCI_DEVICE_ID_HELIOS:
2e2de4
+		m = (typeof(m)){"LP11000", "PCI-X2",
2e2de4
+				"Obsolete, Unsupported Fibre Channel Adapter"};
2e2de4
+		break;
2e2de4
+	case PCI_DEVICE_ID_HELIOS_SCSP:
2e2de4
+		m = (typeof(m)){"LP11000-SP", "PCI-X2",
2e2de4
+				"Obsolete, Unsupported Fibre Channel Adapter"};
2e2de4
+		break;
2e2de4
+	case PCI_DEVICE_ID_HELIOS_DCSP:
2e2de4
+		m = (typeof(m)){"LP11002-SP",  "PCI-X2",
2e2de4
+				"Obsolete, Unsupported Fibre Channel Adapter"};
2e2de4
+		break;
2e2de4
+	case PCI_DEVICE_ID_NEPTUNE:
2e2de4
+		m = (typeof(m)){"LPe1000", "PCIe",
2e2de4
+				"Obsolete, Unsupported Fibre Channel Adapter"};
2e2de4
+		break;
2e2de4
+	case PCI_DEVICE_ID_NEPTUNE_SCSP:
2e2de4
+		m = (typeof(m)){"LPe1000-SP", "PCIe",
2e2de4
+				"Obsolete, Unsupported Fibre Channel Adapter"};
2e2de4
+		break;
2e2de4
+	case PCI_DEVICE_ID_NEPTUNE_DCSP:
2e2de4
+		m = (typeof(m)){"LPe1002-SP", "PCIe",
2e2de4
+				"Obsolete, Unsupported Fibre Channel Adapter"};
2e2de4
+		break;
2e2de4
 	case PCI_DEVICE_ID_BMID:
2e2de4
 		m = (typeof(m)){"LP1150", "PCI-X2", "Fibre Channel Adapter"};
2e2de4
 		break;
2e2de4
+	case PCI_DEVICE_ID_BSMB:
2e2de4
+		m = (typeof(m)){"LP111", "PCI-X2",
2e2de4
+				"Obsolete, Unsupported Fibre Channel Adapter"};
2e2de4
+		break;
2e2de4
 	case PCI_DEVICE_ID_ZEPHYR:
2e2de4
 		m = (typeof(m)){"LPe11000", "PCIe", "Fibre Channel Adapter"};
2e2de4
 		break;
Kmods SIG 17d1fb
@@ -2487,6 +2561,22 @@
2e2de4
 	case PCI_DEVICE_ID_ZSMB:
2e2de4
 		m = (typeof(m)){"LPe111", "PCIe", "Fibre Channel Adapter"};
2e2de4
 		break;
2e2de4
+	case PCI_DEVICE_ID_LP101:
2e2de4
+		m = (typeof(m)){"LP101", "PCI-X",
2e2de4
+				"Obsolete, Unsupported Fibre Channel Adapter"};
2e2de4
+		break;
2e2de4
+	case PCI_DEVICE_ID_LP10000S:
2e2de4
+		m = (typeof(m)){"LP10000-S", "PCI",
2e2de4
+				"Obsolete, Unsupported Fibre Channel Adapter"};
2e2de4
+		break;
2e2de4
+	case PCI_DEVICE_ID_LP11000S:
2e2de4
+		m = (typeof(m)){"LP11000-S", "PCI-X2",
2e2de4
+				"Obsolete, Unsupported Fibre Channel Adapter"};
2e2de4
+		break;
2e2de4
+	case PCI_DEVICE_ID_LPE11000S:
2e2de4
+		m = (typeof(m)){"LPe11000-S", "PCIe",
2e2de4
+				"Obsolete, Unsupported Fibre Channel Adapter"};
2e2de4
+		break;
2e2de4
 	case PCI_DEVICE_ID_SAT:
2e2de4
 		m = (typeof(m)){"LPe12000", "PCIe", "Fibre Channel Adapter"};
2e2de4
 		break;
Kmods SIG 17d1fb
@@ -2505,17 +2595,54 @@
2e2de4
 	case PCI_DEVICE_ID_SAT_S:
2e2de4
 		m = (typeof(m)){"LPe12000-S", "PCIe", "Fibre Channel Adapter"};
2e2de4
 		break;
2e2de4
+	case PCI_DEVICE_ID_HORNET:
2e2de4
+		m = (typeof(m)){"LP21000", "PCIe",
2e2de4
+				"Obsolete, Unsupported FCoE Adapter"};
2e2de4
+		GE = 1;
2e2de4
+		break;
2e2de4
+	case PCI_DEVICE_ID_PROTEUS_VF:
2e2de4
+		m = (typeof(m)){"LPev12000", "PCIe IOV",
2e2de4
+				"Obsolete, Unsupported Fibre Channel Adapter"};
2e2de4
+		break;
2e2de4
+	case PCI_DEVICE_ID_PROTEUS_PF:
2e2de4
+		m = (typeof(m)){"LPev12000", "PCIe IOV",
2e2de4
+				"Obsolete, Unsupported Fibre Channel Adapter"};
2e2de4
+		break;
2e2de4
+	case PCI_DEVICE_ID_PROTEUS_S:
2e2de4
+		m = (typeof(m)){"LPemv12002-S", "PCIe IOV",
2e2de4
+				"Obsolete, Unsupported Fibre Channel Adapter"};
2e2de4
+		break;
2e2de4
+	case PCI_DEVICE_ID_TIGERSHARK:
2e2de4
+		oneConnect = 1;
2e2de4
+		m = (typeof(m)){"OCe10100", "PCIe", "FCoE"};
2e2de4
+		break;
2e2de4
+	case PCI_DEVICE_ID_TOMCAT:
2e2de4
+		oneConnect = 1;
2e2de4
+		m = (typeof(m)){"OCe11100", "PCIe", "FCoE"};
2e2de4
+		break;
2e2de4
 	case PCI_DEVICE_ID_FALCON:
2e2de4
 		m = (typeof(m)){"LPSe12002-ML1-E", "PCIe",
2e2de4
 				"EmulexSecure Fibre"};
2e2de4
 		break;
2e2de4
+	case PCI_DEVICE_ID_BALIUS:
2e2de4
+		m = (typeof(m)){"LPVe12002", "PCIe Shared I/O",
2e2de4
+				"Obsolete, Unsupported Fibre Channel Adapter"};
2e2de4
+		break;
2e2de4
 	case PCI_DEVICE_ID_LANCER_FC:
2e2de4
 		m = (typeof(m)){"LPe16000", "PCIe", "Fibre Channel Adapter"};
2e2de4
 		break;
2e2de4
+	case PCI_DEVICE_ID_LANCER_FC_VF:
2e2de4
+		m = (typeof(m)){"LPe16000", "PCIe",
2e2de4
+				"Obsolete, Unsupported Fibre Channel Adapter"};
2e2de4
+		break;
2e2de4
 	case PCI_DEVICE_ID_LANCER_FCOE:
2e2de4
 		oneConnect = 1;
2e2de4
+		m = (typeof(m)){"OCe15100", "PCIe", "FCoE"};
2e2de4
+		break;
2e2de4
+	case PCI_DEVICE_ID_LANCER_FCOE_VF:
2e2de4
+		oneConnect = 1;
2e2de4
 		m = (typeof(m)){"OCe15100", "PCIe",
2e2de4
-				"Obsolete, Unsupported FCoE Adapter"};
2e2de4
+				"Obsolete, Unsupported FCoE"};
2e2de4
 		break;
2e2de4
 	case PCI_DEVICE_ID_LANCER_G6_FC:
2e2de4
 		m = (typeof(m)){"LPe32000", "PCIe", "Fibre Channel Adapter"};
Kmods SIG 17d1fb
@@ -7528,6 +7655,13 @@
2e2de4
 	if (rc)
2e2de4
 		return -ENODEV;
2e2de4
 
2e2de4
+	if (phba->pcidev->device == PCI_DEVICE_ID_HORNET) {
2e2de4
+		phba->menlo_flag |= HBA_MENLO_SUPPORT;
2e2de4
+		/* check for menlo minimum sg count */
2e2de4
+		if (phba->cfg_sg_seg_cnt < LPFC_DEFAULT_MENLO_SG_SEG_CNT)
2e2de4
+			phba->cfg_sg_seg_cnt = LPFC_DEFAULT_MENLO_SG_SEG_CNT;
2e2de4
+	}
2e2de4
+
2e2de4
 	if (!phba->sli.sli3_ring)
2e2de4
 		phba->sli.sli3_ring = kcalloc(LPFC_SLI3_MAX_RING,
2e2de4
 					      sizeof(struct lpfc_sli_ring),