diff --git a/SOURCES/0006-Bring-back-deprecated-pci-ids-to-lpfc-driver.patch b/SOURCES/0006-Bring-back-deprecated-pci-ids-to-lpfc-driver.patch new file mode 100644 index 0000000..26f68c7 --- /dev/null +++ b/SOURCES/0006-Bring-back-deprecated-pci-ids-to-lpfc-driver.patch @@ -0,0 +1,408 @@ +From 1642dcf67a557b42609a3756e2be7537762c38ea Mon Sep 17 00:00:00 2001 +From: Andrew Lukoshko +Date: Tue, 9 Apr 2024 21:02:31 +0000 +Subject: [PATCH] Bring back deprecated pci ids to lpfc driver + +--- + drivers/scsi/lpfc/lpfc_attr.c | 6 ++ + drivers/scsi/lpfc/lpfc_els.c | 9 +++ + drivers/scsi/lpfc/lpfc_hw.h | 39 +++++++++- + drivers/scsi/lpfc/lpfc_ids.h | 62 ++++++++++++++++ + drivers/scsi/lpfc/lpfc_init.c | 136 +++++++++++++++++++++++++++++++++- + 5 files changed, 249 insertions(+), 3 deletions(-) + +diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c +index 8b15088a1..385ade242 100644 +--- a/drivers/scsi/lpfc/lpfc_attr.c ++++ b/drivers/scsi/lpfc/lpfc_attr.c +@@ -7493,6 +7493,12 @@ lpfc_get_hba_function_mode(struct lpfc_hba *phba) + switch (phba->pcidev->device) { + case PCI_DEVICE_ID_SKYHAWK: + case PCI_DEVICE_ID_SKYHAWK_VF: ++ case PCI_DEVICE_ID_LANCER_FCOE: ++ case PCI_DEVICE_ID_LANCER_FCOE_VF: ++ case PCI_DEVICE_ID_ZEPHYR_DCSP: ++ case PCI_DEVICE_ID_HORNET: ++ case PCI_DEVICE_ID_TIGERSHARK: ++ case PCI_DEVICE_ID_TOMCAT: + phba->hba_flag |= HBA_FCOE_MODE; + break; + default: +diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c +index 89d9f7fdb..700fe69a4 100644 +--- a/drivers/scsi/lpfc/lpfc_els.c ++++ b/drivers/scsi/lpfc/lpfc_els.c +@@ -4608,6 +4608,15 @@ lpfc_els_retry(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb, + case IOSTAT_LOCAL_REJECT: + switch ((irsp->un.ulpWord[4] & IOERR_PARAM_MASK)) { + case IOERR_LOOP_OPEN_FAILURE: ++ if (cmd == ELS_CMD_FLOGI) { ++ if (PCI_DEVICE_ID_HORNET == ++ phba->pcidev->device) { ++ phba->fc_topology = LPFC_TOPOLOGY_LOOP; ++ phba->pport->fc_myDID = 0; ++ phba->alpa_map[0] = 0; ++ phba->alpa_map[1] = 0; ++ } ++ } + if (cmd == ELS_CMD_PLOGI && cmdiocb->retry == 0) + delay = 1000; + retry = 1; +diff --git a/drivers/scsi/lpfc/lpfc_hw.h b/drivers/scsi/lpfc/lpfc_hw.h +index 474c594f8..240b688e1 100644 +--- a/drivers/scsi/lpfc/lpfc_hw.h ++++ b/drivers/scsi/lpfc/lpfc_hw.h +@@ -1713,25 +1713,55 @@ struct lpfc_fdmi_reg_portattr { + + /* Start FireFly Register definitions */ + #define PCI_VENDOR_ID_EMULEX 0x10df ++#define PCI_DEVICE_ID_FIREFLY 0x1ae5 ++#define PCI_DEVICE_ID_PROTEUS_VF 0xe100 ++#define PCI_DEVICE_ID_BALIUS 0xe131 ++#define PCI_DEVICE_ID_PROTEUS_PF 0xe180 + #define PCI_DEVICE_ID_LANCER_FC 0xe200 ++#define PCI_DEVICE_ID_LANCER_FC_VF 0xe208 + #define PCI_DEVICE_ID_LANCER_FCOE 0xe260 ++#define PCI_DEVICE_ID_LANCER_FCOE_VF 0xe268 + #define PCI_DEVICE_ID_LANCER_G6_FC 0xe300 + #define PCI_DEVICE_ID_LANCER_G7_FC 0xf400 + #define PCI_DEVICE_ID_LANCER_G7P_FC 0xf500 + #define PCI_DEVICE_ID_SAT_SMB 0xf011 + #define PCI_DEVICE_ID_SAT_MID 0xf015 ++#define PCI_DEVICE_ID_RFLY 0xf095 ++#define PCI_DEVICE_ID_PFLY 0xf098 ++#define PCI_DEVICE_ID_LP101 0xf0a1 ++#define PCI_DEVICE_ID_TFLY 0xf0a5 ++#define PCI_DEVICE_ID_BSMB 0xf0d1 + #define PCI_DEVICE_ID_BMID 0xf0d5 + #define PCI_DEVICE_ID_ZSMB 0xf0e1 + #define PCI_DEVICE_ID_ZMID 0xf0e5 ++#define PCI_DEVICE_ID_NEPTUNE 0xf0f5 ++#define PCI_DEVICE_ID_NEPTUNE_SCSP 0xf0f6 ++#define PCI_DEVICE_ID_NEPTUNE_DCSP 0xf0f7 + #define PCI_DEVICE_ID_SAT 0xf100 + #define PCI_DEVICE_ID_SAT_SCSP 0xf111 + #define PCI_DEVICE_ID_SAT_DCSP 0xf112 + #define PCI_DEVICE_ID_FALCON 0xf180 ++#define PCI_DEVICE_ID_SUPERFLY 0xf700 ++#define PCI_DEVICE_ID_DRAGONFLY 0xf800 ++#define PCI_DEVICE_ID_CENTAUR 0xf900 ++#define PCI_DEVICE_ID_PEGASUS 0xf980 ++#define PCI_DEVICE_ID_THOR 0xfa00 ++#define PCI_DEVICE_ID_VIPER 0xfb00 ++#define PCI_DEVICE_ID_LP10000S 0xfc00 ++#define PCI_DEVICE_ID_LP11000S 0xfc10 ++#define PCI_DEVICE_ID_LPE11000S 0xfc20 + #define PCI_DEVICE_ID_SAT_S 0xfc40 ++#define PCI_DEVICE_ID_PROTEUS_S 0xfc50 ++#define PCI_DEVICE_ID_HELIOS 0xfd00 ++#define PCI_DEVICE_ID_HELIOS_SCSP 0xfd11 ++#define PCI_DEVICE_ID_HELIOS_DCSP 0xfd12 + #define PCI_DEVICE_ID_ZEPHYR 0xfe00 ++#define PCI_DEVICE_ID_HORNET 0xfe05 + #define PCI_DEVICE_ID_ZEPHYR_SCSP 0xfe11 + #define PCI_DEVICE_ID_ZEPHYR_DCSP 0xfe12 + #define PCI_VENDOR_ID_SERVERENGINE 0x19a2 ++#define PCI_DEVICE_ID_TIGERSHARK 0x0704 ++#define PCI_DEVICE_ID_TOMCAT 0x0714 + #define PCI_DEVICE_ID_SKYHAWK 0x0724 + #define PCI_DEVICE_ID_SKYHAWK_VF 0x072c + +@@ -4365,11 +4395,16 @@ struct lpfc_sli2_slim { + static inline int + lpfc_is_LC_HBA(unsigned short device) + { +- if ((device == PCI_DEVICE_ID_BMID) || ++ if ((device == PCI_DEVICE_ID_TFLY) || ++ (device == PCI_DEVICE_ID_PFLY) || ++ (device == PCI_DEVICE_ID_LP101) || ++ (device == PCI_DEVICE_ID_BMID) || ++ (device == PCI_DEVICE_ID_BSMB) || + (device == PCI_DEVICE_ID_ZMID) || + (device == PCI_DEVICE_ID_ZSMB) || + (device == PCI_DEVICE_ID_SAT_MID) || +- (device == PCI_DEVICE_ID_SAT_SMB)) ++ (device == PCI_DEVICE_ID_SAT_SMB) || ++ (device == PCI_DEVICE_ID_RFLY)) + return 1; + else + return 0; +diff --git a/drivers/scsi/lpfc/lpfc_ids.h b/drivers/scsi/lpfc/lpfc_ids.h +index a77e0fac0..4e9b02a78 100644 +--- a/drivers/scsi/lpfc/lpfc_ids.h ++++ b/drivers/scsi/lpfc/lpfc_ids.h +@@ -24,10 +24,44 @@ + #include + + const struct pci_device_id lpfc_id_table[] = { ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_VIPER, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_FIREFLY, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_THOR, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PEGASUS, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_CENTAUR, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_DRAGONFLY, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SUPERFLY, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_RFLY, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PFLY, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_NEPTUNE, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_NEPTUNE_SCSP, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_NEPTUNE_DCSP, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_HELIOS, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_HELIOS_SCSP, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_HELIOS_DCSP, ++ PCI_ANY_ID, PCI_ANY_ID, }, + {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_BMID, + PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_BSMB, ++ PCI_ANY_ID, PCI_ANY_ID, }, + {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZEPHYR, + PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_HORNET, ++ PCI_ANY_ID, PCI_ANY_ID, }, + {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZEPHYR_SCSP, + PCI_ANY_ID, PCI_ANY_ID, }, + {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZEPHYR_DCSP, +@@ -36,6 +70,16 @@ const struct pci_device_id lpfc_id_table[] = { + PCI_ANY_ID, PCI_ANY_ID, }, + {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZSMB, + PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_TFLY, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LP101, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LP10000S, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LP11000S, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LPE11000S, ++ PCI_ANY_ID, PCI_ANY_ID, }, + {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SAT, + PCI_ANY_ID, PCI_ANY_ID, }, + {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SAT_MID, +@@ -48,10 +92,28 @@ const struct pci_device_id lpfc_id_table[] = { + PCI_ANY_ID, PCI_ANY_ID, }, + {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_SAT_S, + PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PROTEUS_VF, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PROTEUS_PF, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PROTEUS_S, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_SERVERENGINE, PCI_DEVICE_ID_TIGERSHARK, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_SERVERENGINE, PCI_DEVICE_ID_TOMCAT, ++ PCI_ANY_ID, PCI_ANY_ID, }, + {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_FALCON, + PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_BALIUS, ++ PCI_ANY_ID, PCI_ANY_ID, }, + {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FC, + PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FCOE, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FC_VF, ++ PCI_ANY_ID, PCI_ANY_ID, }, ++ {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_FCOE_VF, ++ PCI_ANY_ID, PCI_ANY_ID, }, + {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_G6_FC, + PCI_ANY_ID, PCI_ANY_ID, }, + {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LANCER_G7_FC, +diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c +index 82d25ea51..f4f49aa2a 100644 +--- a/drivers/scsi/lpfc/lpfc_init.c ++++ b/drivers/scsi/lpfc/lpfc_init.c +@@ -2482,9 +2482,83 @@ lpfc_get_hba_model_desc(struct lpfc_hba *phba, uint8_t *mdp, uint8_t *descp) + vp = &phba->vpd; + + switch (dev_id) { ++ case PCI_DEVICE_ID_FIREFLY: ++ m = (typeof(m)){"LP6000", "PCI", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_SUPERFLY: ++ if (vp->rev.biuRev >= 1 && vp->rev.biuRev <= 3) ++ m = (typeof(m)){"LP7000", "PCI", ""}; ++ else ++ m = (typeof(m)){"LP7000E", "PCI", ""}; ++ m.function = "Obsolete, Unsupported Fibre Channel Adapter"; ++ break; ++ case PCI_DEVICE_ID_DRAGONFLY: ++ m = (typeof(m)){"LP8000", "PCI", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_CENTAUR: ++ if (FC_JEDEC_ID(vp->rev.biuRev) == CENTAUR_2G_JEDEC_ID) ++ m = (typeof(m)){"LP9002", "PCI", ""}; ++ else ++ m = (typeof(m)){"LP9000", "PCI", ""}; ++ m.function = "Obsolete, Unsupported Fibre Channel Adapter"; ++ break; ++ case PCI_DEVICE_ID_RFLY: ++ m = (typeof(m)){"LP952", "PCI", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_PEGASUS: ++ m = (typeof(m)){"LP9802", "PCI-X", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_THOR: ++ m = (typeof(m)){"LP10000", "PCI-X", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_VIPER: ++ m = (typeof(m)){"LPX1000", "PCI-X", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_PFLY: ++ m = (typeof(m)){"LP982", "PCI-X", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_TFLY: ++ m = (typeof(m)){"LP1050", "PCI-X", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_HELIOS: ++ m = (typeof(m)){"LP11000", "PCI-X2", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_HELIOS_SCSP: ++ m = (typeof(m)){"LP11000-SP", "PCI-X2", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_HELIOS_DCSP: ++ m = (typeof(m)){"LP11002-SP", "PCI-X2", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_NEPTUNE: ++ m = (typeof(m)){"LPe1000", "PCIe", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_NEPTUNE_SCSP: ++ m = (typeof(m)){"LPe1000-SP", "PCIe", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_NEPTUNE_DCSP: ++ m = (typeof(m)){"LPe1002-SP", "PCIe", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; + case PCI_DEVICE_ID_BMID: + m = (typeof(m)){"LP1150", "PCI-X2", "Fibre Channel Adapter"}; + break; ++ case PCI_DEVICE_ID_BSMB: ++ m = (typeof(m)){"LP111", "PCI-X2", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; + case PCI_DEVICE_ID_ZEPHYR: + m = (typeof(m)){"LPe11000", "PCIe", "Fibre Channel Adapter"}; + break; +@@ -2501,6 +2575,22 @@ lpfc_get_hba_model_desc(struct lpfc_hba *phba, uint8_t *mdp, uint8_t *descp) + case PCI_DEVICE_ID_ZSMB: + m = (typeof(m)){"LPe111", "PCIe", "Fibre Channel Adapter"}; + break; ++ case PCI_DEVICE_ID_LP101: ++ m = (typeof(m)){"LP101", "PCI-X", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_LP10000S: ++ m = (typeof(m)){"LP10000-S", "PCI", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_LP11000S: ++ m = (typeof(m)){"LP11000-S", "PCI-X2", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_LPE11000S: ++ m = (typeof(m)){"LPe11000-S", "PCIe", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; + case PCI_DEVICE_ID_SAT: + m = (typeof(m)){"LPe12000", "PCIe", "Fibre Channel Adapter"}; + break; +@@ -2519,17 +2609,54 @@ lpfc_get_hba_model_desc(struct lpfc_hba *phba, uint8_t *mdp, uint8_t *descp) + case PCI_DEVICE_ID_SAT_S: + m = (typeof(m)){"LPe12000-S", "PCIe", "Fibre Channel Adapter"}; + break; ++ case PCI_DEVICE_ID_HORNET: ++ m = (typeof(m)){"LP21000", "PCIe", ++ "Obsolete, Unsupported FCoE Adapter"}; ++ GE = 1; ++ break; ++ case PCI_DEVICE_ID_PROTEUS_VF: ++ m = (typeof(m)){"LPev12000", "PCIe IOV", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_PROTEUS_PF: ++ m = (typeof(m)){"LPev12000", "PCIe IOV", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_PROTEUS_S: ++ m = (typeof(m)){"LPemv12002-S", "PCIe IOV", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; ++ case PCI_DEVICE_ID_TIGERSHARK: ++ oneConnect = 1; ++ m = (typeof(m)){"OCe10100", "PCIe", "FCoE"}; ++ break; ++ case PCI_DEVICE_ID_TOMCAT: ++ oneConnect = 1; ++ m = (typeof(m)){"OCe11100", "PCIe", "FCoE"}; ++ break; + case PCI_DEVICE_ID_FALCON: + m = (typeof(m)){"LPSe12002-ML1-E", "PCIe", + "EmulexSecure Fibre"}; + break; ++ case PCI_DEVICE_ID_BALIUS: ++ m = (typeof(m)){"LPVe12002", "PCIe Shared I/O", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; + case PCI_DEVICE_ID_LANCER_FC: + m = (typeof(m)){"LPe16000", "PCIe", "Fibre Channel Adapter"}; + break; ++ case PCI_DEVICE_ID_LANCER_FC_VF: ++ m = (typeof(m)){"LPe16000", "PCIe", ++ "Obsolete, Unsupported Fibre Channel Adapter"}; ++ break; + case PCI_DEVICE_ID_LANCER_FCOE: ++ oneConnect = 1; ++ m = (typeof(m)){"OCe15100", "PCIe", "FCoE"}; ++ break; ++ case PCI_DEVICE_ID_LANCER_FCOE_VF: + oneConnect = 1; + m = (typeof(m)){"OCe15100", "PCIe", +- "Obsolete, Unsupported FCoE Adapter"}; ++ "Obsolete, Unsupported FCoE"}; + break; + case PCI_DEVICE_ID_LANCER_G6_FC: + m = (typeof(m)){"LPe32000", "PCIe", "Fibre Channel Adapter"}; +@@ -7619,6 +7746,13 @@ lpfc_sli_driver_resource_setup(struct lpfc_hba *phba) + if (rc) + return -ENODEV; + ++ if (phba->pcidev->device == PCI_DEVICE_ID_HORNET) { ++ phba->menlo_flag |= HBA_MENLO_SUPPORT; ++ /* check for menlo minimum sg count */ ++ if (phba->cfg_sg_seg_cnt < LPFC_DEFAULT_MENLO_SG_SEG_CNT) ++ phba->cfg_sg_seg_cnt = LPFC_DEFAULT_MENLO_SG_SEG_CNT; ++ } ++ + if (!phba->sli.sli3_ring) + phba->sli.sli3_ring = kcalloc(LPFC_SLI3_MAX_RING, + sizeof(struct lpfc_sli_ring), +-- +2.27.0 + diff --git a/SOURCES/0007-Bring-back-deprecated-pci-ids-to-qla4xxx-driver.patch b/SOURCES/0007-Bring-back-deprecated-pci-ids-to-qla4xxx-driver.patch new file mode 100644 index 0000000..219c160 --- /dev/null +++ b/SOURCES/0007-Bring-back-deprecated-pci-ids-to-qla4xxx-driver.patch @@ -0,0 +1,41 @@ +From c706b20bc89820ccc3c34e566d709f3f55c46624 Mon Sep 17 00:00:00 2001 +From: Andrew Lukoshko +Date: Tue, 9 Apr 2024 21:04:46 +0000 +Subject: [PATCH] Bring back deprecated pci ids to qla4xxx driver + +--- + drivers/scsi/qla4xxx/ql4_os.c | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c +index b609f0c34..edf148fc7 100644 +--- a/drivers/scsi/qla4xxx/ql4_os.c ++++ b/drivers/scsi/qla4xxx/ql4_os.c +@@ -9855,6 +9855,24 @@ static struct pci_device_id qla4xxx_pci_tbl[] = { + .subvendor = PCI_ANY_ID, + .subdevice = PCI_ANY_ID, + }, ++ { ++ .vendor = PCI_VENDOR_ID_QLOGIC, ++ .device = PCI_DEVICE_ID_QLOGIC_ISP8022, ++ .subvendor = PCI_ANY_ID, ++ .subdevice = PCI_ANY_ID, ++ }, ++ { ++ .vendor = PCI_VENDOR_ID_QLOGIC, ++ .device = PCI_DEVICE_ID_QLOGIC_ISP8324, ++ .subvendor = PCI_ANY_ID, ++ .subdevice = PCI_ANY_ID, ++ }, ++ { ++ .vendor = PCI_VENDOR_ID_QLOGIC, ++ .device = PCI_DEVICE_ID_QLOGIC_ISP8042, ++ .subvendor = PCI_ANY_ID, ++ .subdevice = PCI_ANY_ID, ++ }, + {0, 0}, + }; + MODULE_DEVICE_TABLE(pci, qla4xxx_pci_tbl); +-- +2.27.0 + diff --git a/SOURCES/0008-Bring-back-deprecated-pci-ids-to-be2iscsi-driver.patch b/SOURCES/0008-Bring-back-deprecated-pci-ids-to-be2iscsi-driver.patch new file mode 100644 index 0000000..b3a1e15 --- /dev/null +++ b/SOURCES/0008-Bring-back-deprecated-pci-ids-to-be2iscsi-driver.patch @@ -0,0 +1,28 @@ +From 46c5a63208e3eb337da2ca8b1456a50707655e24 Mon Sep 17 00:00:00 2001 +From: Andrew Lukoshko +Date: Tue, 9 Apr 2024 21:07:06 +0000 +Subject: [PATCH] Bring back deprecated pci ids to be2iscsi driver + +--- + drivers/scsi/be2iscsi/be_main.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/drivers/scsi/be2iscsi/be_main.c b/drivers/scsi/be2iscsi/be_main.c +index 885c351fb..2d04e67e7 100644 +--- a/drivers/scsi/be2iscsi/be_main.c ++++ b/drivers/scsi/be2iscsi/be_main.c +@@ -375,6 +375,11 @@ static int beiscsi_eh_device_reset(struct scsi_cmnd *sc) + + /*------------------- PCI Driver operations and data ----------------- */ + static const struct pci_device_id beiscsi_pci_id_table[] = { ++ { PCI_DEVICE(BE_VENDOR_ID, BE_DEVICE_ID1) }, ++ { PCI_DEVICE(BE_VENDOR_ID, OC_DEVICE_ID1) }, ++ { PCI_DEVICE(BE_VENDOR_ID, OC_DEVICE_ID2) }, ++ { PCI_DEVICE(BE_VENDOR_ID, BE_DEVICE_ID2) }, ++ { PCI_DEVICE(BE_VENDOR_ID, OC_DEVICE_ID3) }, + { PCI_DEVICE(ELX_VENDOR_ID, OC_SKH_ID1) }, + { 0 } + }; +-- +2.27.0 + diff --git a/SPECS/kernel.spec b/SPECS/kernel.spec index 2b0ae58..62bf843 100644 --- a/SPECS/kernel.spec +++ b/SPECS/kernel.spec @@ -532,6 +532,9 @@ Patch2002: 0002-Bring-back-deprecated-pci-ids-to-megaraid_sas-driver.patch Patch2003: 0003-Bring-back-deprecated-pci-ids-to-mptsas-mptspi-drive.patch Patch2004: 0004-Bring-back-deprecated-pci-ids-to-hpsa-driver.patch Patch2005: 0005-Bring-back-deprecated-pci-ids-to-qla2xxx-driver.patch +Patch2006: 0006-Bring-back-deprecated-pci-ids-to-lpfc-driver.patch +Patch2007: 0007-Bring-back-deprecated-pci-ids-to-qla4xxx-driver.patch +Patch2008: 0008-Bring-back-deprecated-pci-ids-to-be2iscsi-driver.patch # END OF PATCH DEFINITIONS @@ -1104,6 +1107,9 @@ ApplyPatch 0002-Bring-back-deprecated-pci-ids-to-megaraid_sas-driver.patch ApplyPatch 0003-Bring-back-deprecated-pci-ids-to-mptsas-mptspi-drive.patch ApplyPatch 0004-Bring-back-deprecated-pci-ids-to-hpsa-driver.patch ApplyPatch 0005-Bring-back-deprecated-pci-ids-to-qla2xxx-driver.patch +ApplyPatch 0006-Bring-back-deprecated-pci-ids-to-lpfc-driver.patch +ApplyPatch 0007-Bring-back-deprecated-pci-ids-to-qla4xxx-driver.patch +ApplyPatch 0008-Bring-back-deprecated-pci-ids-to-be2iscsi-driver.patch ApplyOptionalPatch linux-kernel-test.patch @@ -2706,6 +2712,9 @@ fi - mptsas: bring back deprecated PCI ids #CFHack #CFHack2024 - megaraid_sas: bring back deprecated PCI ids #CFHack #CFHack2024 - qla2xxx: bring back deprecated PCI ids #CFHack #CFHack2024 +- qla4xxx: bring back deprecated PCI ids +- lpfc: bring back deprecated PCI ids +- be2iscsi: bring back deprecated PCI ids - kernel/rh_messages.h: enable all disabled pci devices by moving to unmaintained * Thu Feb 22 2024 Denys Vlasenko [4.18.0-544.el8]