diff --git a/SOURCES/0001-Enable-all-disabled-pci-devices-by-moving-to-unmaint.patch b/SOURCES/0001-Enable-all-disabled-pci-devices-by-moving-to-unmaint.patch new file mode 100644 index 0000000..4e0b597 --- /dev/null +++ b/SOURCES/0001-Enable-all-disabled-pci-devices-by-moving-to-unmaint.patch @@ -0,0 +1,45 @@ +From b69db7bed679288a9107d652fd39076dc4dea85c Mon Sep 17 00:00:00 2001 +From: Andrew Lukoshko +Date: Mon, 8 Apr 2024 20:50:39 +0000 +Subject: [PATCH 1/5] Enable all disabled pci devices by moving to unmaintained + list + +--- + kernel/rh_messages.h | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/kernel/rh_messages.h b/kernel/rh_messages.h +index b7c3be8aa..28b0f3cad 100644 +--- a/kernel/rh_messages.h ++++ b/kernel/rh_messages.h +@@ -149,6 +149,14 @@ static const struct pci_device_id rh_deprecated_pci_devices[] = { + }; + + static const struct pci_device_id rh_disabled_pci_devices[] = { ++ {0} /* Terminating entry */ ++}; ++ ++static const struct pci_device_id rh_unmaintained_pci_devices[] = { ++ { 0x1000, 0x0071, PCI_ANY_ID, PCI_ANY_ID }, ++ { 0x1000, 0x0073, PCI_ANY_ID, PCI_ANY_ID }, ++ { 0x1000, 0x0079, PCI_ANY_ID, PCI_ANY_ID }, ++ { 0x15B3, 0xA2DC, PCI_ANY_ID, PCI_ANY_ID }, + { 0x1011, 0x0046, 0x103c, 0x10c2 }, + { 0x1011, 0x0046, 0x9005, 0x0364 }, + { 0x1011, 0x0046, 0x9005, 0x0365 }, +@@ -301,12 +309,4 @@ static const struct pci_device_id rh_disabled_pci_devices[] = { + {0} /* Terminating entry */ + }; + +-static const struct pci_device_id rh_unmaintained_pci_devices[] = { +- { 0x1000, 0x0071, PCI_ANY_ID, PCI_ANY_ID }, +- { 0x1000, 0x0073, PCI_ANY_ID, PCI_ANY_ID }, +- { 0x1000, 0x0079, PCI_ANY_ID, PCI_ANY_ID }, +- { 0x15B3, 0xA2DC, PCI_ANY_ID, PCI_ANY_ID }, +- {0} /* Terminating entry */ +-}; +- + #endif /* __RH_MESSAGES_H */ +-- +2.27.0 + diff --git a/SOURCES/0002-Bring-back-deprecated-pci-ids-to-megaraid_sas-driver.patch b/SOURCES/0002-Bring-back-deprecated-pci-ids-to-megaraid_sas-driver.patch new file mode 100644 index 0000000..148d3c4 --- /dev/null +++ b/SOURCES/0002-Bring-back-deprecated-pci-ids-to-megaraid_sas-driver.patch @@ -0,0 +1,41 @@ +From 50d7888356a1ea1418f15ac75b25457b6d7b3dd8 Mon Sep 17 00:00:00 2001 +From: Andrew Lukoshko +Date: Mon, 8 Apr 2024 20:55:37 +0000 +Subject: [PATCH 2/5] Bring back deprecated pci ids to megaraid_sas driver + +--- + drivers/scsi/megaraid/megaraid_sas_base.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c b/drivers/scsi/megaraid/megaraid_sas_base.c +index 19a62e595..4ecd40872 100644 +--- a/drivers/scsi/megaraid/megaraid_sas_base.c ++++ b/drivers/scsi/megaraid/megaraid_sas_base.c +@@ -140,12 +140,24 @@ megasas_set_ld_removed_by_fw(struct megasas_instance *instance); + */ + static struct pci_device_id megasas_pci_table[] = { + ++ {PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS1064R)}, ++ /* xscale IOP */ ++ {PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS1078R)}, ++ /* ppc IOP */ ++ {PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS1078DE)}, ++ /* ppc IOP */ ++ {PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS1078GEN2)}, ++ /* gen2*/ + {PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS0079GEN2)}, + /* gen2*/ + {PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS0073SKINNY)}, + /* skinny*/ + {PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_SAS0071SKINNY)}, + /* skinny*/ ++ {PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_VERDE_ZCR)}, ++ /* xscale IOP, vega */ ++ {PCI_DEVICE(PCI_VENDOR_ID_DELL, PCI_DEVICE_ID_DELL_PERC5)}, ++ /* xscale IOP */ + {PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_FUSION)}, + /* Fusion */ + {PCI_DEVICE(PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_LSI_PLASMA)}, +-- +2.27.0 + diff --git a/SOURCES/0003-Bring-back-deprecated-pci-ids-to-mptsas-mptspi-drive.patch b/SOURCES/0003-Bring-back-deprecated-pci-ids-to-mptsas-mptspi-drive.patch new file mode 100644 index 0000000..b8b9d50 --- /dev/null +++ b/SOURCES/0003-Bring-back-deprecated-pci-ids-to-mptsas-mptspi-drive.patch @@ -0,0 +1,65 @@ +From 8a5b922edcc3b2973395d4d5407b143ae1d87552 Mon Sep 17 00:00:00 2001 +From: Andrew Lukoshko +Date: Mon, 8 Apr 2024 20:59:22 +0000 +Subject: [PATCH 3/5] Bring back deprecated pci ids to mptsas-mptspi driver + +--- + drivers/message/fusion/mptsas.c | 12 +++++++++++- + drivers/message/fusion/mptspi.c | 10 +++++----- + 2 files changed, 16 insertions(+), 6 deletions(-) + +diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c +index 652fed3f8..4c73bf444 100644 +--- a/drivers/message/fusion/mptsas.c ++++ b/drivers/message/fusion/mptsas.c +@@ -5353,8 +5353,18 @@ static void mptsas_remove(struct pci_dev *pdev) + } + + static struct pci_device_id mptsas_pci_table[] = { ++ { PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_SAS1064, ++ PCI_ANY_ID, PCI_ANY_ID }, + { PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_SAS1068, +- PCI_VENDOR_ID_VMWARE, PCI_ANY_ID }, ++ PCI_ANY_ID, PCI_ANY_ID }, ++ { PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_SAS1064E, ++ PCI_ANY_ID, PCI_ANY_ID }, ++ { PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_SAS1068E, ++ PCI_ANY_ID, PCI_ANY_ID }, ++ { PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_SAS1078, ++ PCI_ANY_ID, PCI_ANY_ID }, ++ { PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_SAS1068_820XELP, ++ PCI_ANY_ID, PCI_ANY_ID }, + {0} /* Terminating entry */ + }; + MODULE_DEVICE_TABLE(pci, mptsas_pci_table); +diff --git a/drivers/message/fusion/mptspi.c b/drivers/message/fusion/mptspi.c +index 08acc09f7..9a336a161 100644 +--- a/drivers/message/fusion/mptspi.c ++++ b/drivers/message/fusion/mptspi.c +@@ -1245,7 +1245,11 @@ static struct spi_function_template mptspi_transport_functions = { + + static struct pci_device_id mptspi_pci_table[] = { + { PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_53C1030, +- PCI_VENDOR_ID_VMWARE, PCI_ANY_ID }, ++ PCI_ANY_ID, PCI_ANY_ID }, ++ { PCI_VENDOR_ID_ATTO, MPI_MANUFACTPAGE_DEVID_53C1030, ++ PCI_ANY_ID, PCI_ANY_ID }, ++ { PCI_VENDOR_ID_LSI_LOGIC, MPI_MANUFACTPAGE_DEVID_53C1035, ++ PCI_ANY_ID, PCI_ANY_ID }, + {0} /* Terminating entry */ + }; + MODULE_DEVICE_TABLE(pci, mptspi_pci_table); +@@ -1536,10 +1540,6 @@ mptspi_probe(struct pci_dev *pdev, const struct pci_device_id *id) + 0, 0, 0, 0, 5); + + scsi_scan_host(sh); +- +- add_taint(TAINT_SUPPORT_REMOVED, LOCKDEP_STILL_OK); +- pr_warn("MPTSPI MODULE IS NOT SUPPORTED\n"); +- + return 0; + + out_mptspi_probe: +-- +2.27.0 + diff --git a/SOURCES/0004-Bring-back-deprecated-pci-ids-to-hpsa-driver.patch b/SOURCES/0004-Bring-back-deprecated-pci-ids-to-hpsa-driver.patch new file mode 100644 index 0000000..96e97d5 --- /dev/null +++ b/SOURCES/0004-Bring-back-deprecated-pci-ids-to-hpsa-driver.patch @@ -0,0 +1,39 @@ +From 01c67e991c0d49e797b412d6d6f4d7a4669ec926 Mon Sep 17 00:00:00 2001 +From: Andrew Lukoshko +Date: Mon, 8 Apr 2024 21:01:23 +0000 +Subject: [PATCH 4/5] Bring back deprecated pci ids to hpsa driver + +--- + drivers/scsi/hpsa.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c +index 544f1ab02..2fa774488 100644 +--- a/drivers/scsi/hpsa.c ++++ b/drivers/scsi/hpsa.c +@@ -91,6 +91,11 @@ MODULE_PARM_DESC(hpsa_simple_mode, + + /* define the PCI info for the cards we can control */ + static const struct pci_device_id hpsa_pci_device_id[] = { ++ {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSC, 0x103C, 0x3223}, ++ {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSC, 0x103C, 0x3234}, ++ {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSC, 0x103C, 0x3235}, ++ {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSC, 0x103C, 0x3237}, ++ {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSC, 0x103C, 0x323D}, + {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x3241}, + {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x3243}, + {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x3245}, +@@ -144,6 +149,10 @@ static const struct pci_device_id hpsa_pci_device_id[] = { + {PCI_VENDOR_ID_HP_3PAR, 0x0075, 0x1590, 0x007D}, + {PCI_VENDOR_ID_HP_3PAR, 0x0075, 0x1590, 0x0088}, + {PCI_VENDOR_ID_HP, 0x333f, 0x103c, 0x333f}, ++ {PCI_VENDOR_ID_HP, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, ++ PCI_CLASS_STORAGE_RAID << 8, 0xffff << 8, 0}, ++ {PCI_VENDOR_ID_COMPAQ, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, ++ PCI_CLASS_STORAGE_RAID << 8, 0xffff << 8, 0}, + {0,} + }; + +-- +2.27.0 + diff --git a/SOURCES/0005-Bring-back-deprecated-pci-ids-to-qla2xxx-driver.patch b/SOURCES/0005-Bring-back-deprecated-pci-ids-to-qla2xxx-driver.patch new file mode 100644 index 0000000..da58f42 --- /dev/null +++ b/SOURCES/0005-Bring-back-deprecated-pci-ids-to-qla2xxx-driver.patch @@ -0,0 +1,176 @@ +From c74bb37d786dd12419fca217b53f33ca177fe96d Mon Sep 17 00:00:00 2001 +From: Andrew Lukoshko +Date: Mon, 8 Apr 2024 21:07:42 +0000 +Subject: [PATCH 5/5] Bring back deprecated pci ids to qla2xxx driver + +--- + drivers/scsi/qla2xxx/qla_os.c | 120 +++++++++++++++++++++++++++++++++- + 1 file changed, 119 insertions(+), 1 deletion(-) + +diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c +index 93dd9c332..8d46bbf22 100644 +--- a/drivers/scsi/qla2xxx/qla_os.c ++++ b/drivers/scsi/qla2xxx/qla_os.c +@@ -2636,6 +2636,73 @@ qla2x00_set_isp_flags(struct qla_hw_data *ha) + { + ha->device_type = DT_EXTENDED_IDS; + switch (ha->pdev->device) { ++ case PCI_DEVICE_ID_QLOGIC_ISP2100: ++ ha->isp_type |= DT_ISP2100; ++ ha->device_type &= ~DT_EXTENDED_IDS; ++ ha->fw_srisc_address = RISC_START_ADDRESS_2100; ++ break; ++ case PCI_DEVICE_ID_QLOGIC_ISP2200: ++ ha->isp_type |= DT_ISP2200; ++ ha->device_type &= ~DT_EXTENDED_IDS; ++ ha->fw_srisc_address = RISC_START_ADDRESS_2100; ++ break; ++ case PCI_DEVICE_ID_QLOGIC_ISP2300: ++ ha->isp_type |= DT_ISP2300; ++ ha->device_type |= DT_ZIO_SUPPORTED; ++ ha->fw_srisc_address = RISC_START_ADDRESS_2300; ++ break; ++ case PCI_DEVICE_ID_QLOGIC_ISP2312: ++ ha->isp_type |= DT_ISP2312; ++ ha->device_type |= DT_ZIO_SUPPORTED; ++ ha->fw_srisc_address = RISC_START_ADDRESS_2300; ++ break; ++ case PCI_DEVICE_ID_QLOGIC_ISP2322: ++ ha->isp_type |= DT_ISP2322; ++ ha->device_type |= DT_ZIO_SUPPORTED; ++ if (ha->pdev->subsystem_vendor == 0x1028 && ++ ha->pdev->subsystem_device == 0x0170) ++ ha->device_type |= DT_OEM_001; ++ ha->fw_srisc_address = RISC_START_ADDRESS_2300; ++ break; ++ case PCI_DEVICE_ID_QLOGIC_ISP6312: ++ ha->isp_type |= DT_ISP6312; ++ ha->fw_srisc_address = RISC_START_ADDRESS_2300; ++ break; ++ case PCI_DEVICE_ID_QLOGIC_ISP6322: ++ ha->isp_type |= DT_ISP6322; ++ ha->fw_srisc_address = RISC_START_ADDRESS_2300; ++ break; ++ case PCI_DEVICE_ID_QLOGIC_ISP2422: ++ ha->isp_type |= DT_ISP2422; ++ ha->device_type |= DT_ZIO_SUPPORTED; ++ ha->device_type |= DT_FWI2; ++ ha->device_type |= DT_IIDMA; ++ ha->fw_srisc_address = RISC_START_ADDRESS_2400; ++ break; ++ case PCI_DEVICE_ID_QLOGIC_ISP2432: ++ ha->isp_type |= DT_ISP2432; ++ ha->device_type |= DT_ZIO_SUPPORTED; ++ ha->device_type |= DT_FWI2; ++ ha->device_type |= DT_IIDMA; ++ ha->fw_srisc_address = RISC_START_ADDRESS_2400; ++ break; ++ case PCI_DEVICE_ID_QLOGIC_ISP8432: ++ ha->isp_type |= DT_ISP8432; ++ ha->device_type |= DT_ZIO_SUPPORTED; ++ ha->device_type |= DT_FWI2; ++ ha->device_type |= DT_IIDMA; ++ ha->fw_srisc_address = RISC_START_ADDRESS_2400; ++ break; ++ case PCI_DEVICE_ID_QLOGIC_ISP5422: ++ ha->isp_type |= DT_ISP5422; ++ ha->device_type |= DT_FWI2; ++ ha->fw_srisc_address = RISC_START_ADDRESS_2400; ++ break; ++ case PCI_DEVICE_ID_QLOGIC_ISP5432: ++ ha->isp_type |= DT_ISP5432; ++ ha->device_type |= DT_FWI2; ++ ha->fw_srisc_address = RISC_START_ADDRESS_2400; ++ break; + case PCI_DEVICE_ID_QLOGIC_ISP2532: + ha->isp_type |= DT_ISP2532; + ha->device_type |= DT_ZIO_SUPPORTED; +@@ -2643,6 +2710,29 @@ qla2x00_set_isp_flags(struct qla_hw_data *ha) + ha->device_type |= DT_IIDMA; + ha->fw_srisc_address = RISC_START_ADDRESS_2400; + break; ++ case PCI_DEVICE_ID_QLOGIC_ISP8001: ++ ha->isp_type |= DT_ISP8001; ++ ha->device_type |= DT_ZIO_SUPPORTED; ++ ha->device_type |= DT_FWI2; ++ ha->device_type |= DT_IIDMA; ++ ha->fw_srisc_address = RISC_START_ADDRESS_2400; ++ break; ++ case PCI_DEVICE_ID_QLOGIC_ISP8021: ++ ha->isp_type |= DT_ISP8021; ++ ha->device_type |= DT_ZIO_SUPPORTED; ++ ha->device_type |= DT_FWI2; ++ ha->fw_srisc_address = RISC_START_ADDRESS_2400; ++ /* Initialize 82XX ISP flags */ ++ qla82xx_init_flags(ha); ++ break; ++ case PCI_DEVICE_ID_QLOGIC_ISP8044: ++ ha->isp_type |= DT_ISP8044; ++ ha->device_type |= DT_ZIO_SUPPORTED; ++ ha->device_type |= DT_FWI2; ++ ha->fw_srisc_address = RISC_START_ADDRESS_2400; ++ /* Initialize 82XX ISP flags */ ++ qla82xx_init_flags(ha); ++ break; + case PCI_DEVICE_ID_QLOGIC_ISP2031: + ha->isp_type |= DT_ISP2031; + ha->device_type |= DT_ZIO_SUPPORTED; +@@ -2659,6 +2749,9 @@ qla2x00_set_isp_flags(struct qla_hw_data *ha) + ha->device_type |= DT_T10_PI; + ha->fw_srisc_address = RISC_START_ADDRESS_2400; + break; ++ case PCI_DEVICE_ID_QLOGIC_ISPF001: ++ ha->isp_type |= DT_ISPFX00; ++ break; + case PCI_DEVICE_ID_QLOGIC_ISP2071: + ha->isp_type |= DT_ISP2071; + ha->device_type |= DT_ZIO_SUPPORTED; +@@ -2802,9 +2895,18 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct pci_device_id *id) + + bars = pci_select_bars(pdev, IORESOURCE_MEM | IORESOURCE_IO); + sht = &qla2xxx_driver_template; +- if (pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2532 || ++ if (pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2422 || ++ pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2432 || ++ pdev->device == PCI_DEVICE_ID_QLOGIC_ISP8432 || ++ pdev->device == PCI_DEVICE_ID_QLOGIC_ISP5422 || ++ pdev->device == PCI_DEVICE_ID_QLOGIC_ISP5432 || ++ pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2532 || ++ pdev->device == PCI_DEVICE_ID_QLOGIC_ISP8001 || ++ pdev->device == PCI_DEVICE_ID_QLOGIC_ISP8021 || + pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2031 || + pdev->device == PCI_DEVICE_ID_QLOGIC_ISP8031 || ++ pdev->device == PCI_DEVICE_ID_QLOGIC_ISPF001 || ++ pdev->device == PCI_DEVICE_ID_QLOGIC_ISP8044 || + pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2071 || + pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2271 || + pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2261 || +@@ -7997,9 +8099,25 @@ static const struct pci_error_handlers qla2xxx_err_handler = { + }; + + static struct pci_device_id qla2xxx_pci_tbl[] = { ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2100) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2200) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2300) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2312) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2322) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP6312) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP6322) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2422) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2432) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8432) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP5422) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP5432) }, + { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2532) }, + { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2031) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8001) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8021) }, + { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8031) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISPF001) }, ++ { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP8044) }, + { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2071) }, + { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2271) }, + { PCI_DEVICE(PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2261) }, +-- +2.27.0 + 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/SOURCES/debrand-rh-i686-cpu.patch b/SOURCES/debrand-rh-i686-cpu.patch new file mode 100644 index 0000000..80d3b2e --- /dev/null +++ b/SOURCES/debrand-rh-i686-cpu.patch @@ -0,0 +1,11 @@ +--- a/arch/x86/boot/main.c 2019-03-13 04:04:53.000000000 -0700 ++++ b/arch/x86/boot/main.c 2019-05-25 14:31:21.043272496 -0700 +@@ -147,7 +147,7 @@ void main(void) + + /* Make sure we have all the proper CPU support */ + if (validate_cpu()) { +- puts("This processor is not supported in this version of RHEL.\n"); ++ puts("This processor is not supported in this version of MSVSphere.\n"); + die(); + } + diff --git a/SOURCES/debrand-single-cpu.patch b/SOURCES/debrand-single-cpu.patch new file mode 100644 index 0000000..c86d461 --- /dev/null +++ b/SOURCES/debrand-single-cpu.patch @@ -0,0 +1,11 @@ +--- a/arch/x86/kernel/setup.c 2019-03-13 04:04:53.000000000 -0700 ++++ b/arch/x86/kernel/setup.c 2019-05-27 08:35:54.580595314 -0700 +@@ -900,7 +900,7 @@ static void rh_check_supported(void) + if (((boot_cpu_data.x86_max_cores * smp_num_siblings) == 1) && + !guest && is_kdump_kernel()) { + pr_crit("Detected single cpu native boot.\n"); +- pr_crit("Important: In Red Hat Enterprise Linux 8, single threaded, single CPU 64-bit physical systems are unsupported by Red Hat. Please contact your Red Hat support representative for a list of certified and supported systems."); ++ pr_crit("Important: In MSVSphere 8, single threaded, single CPU 64-bit physical systems are unsupported. Please see https://www.almalinux.org for more information"); + } + + /* diff --git a/SPECS/kernel.spec b/SPECS/kernel.spec index 300b040..4f448ff 100644 --- a/SPECS/kernel.spec +++ b/SPECS/kernel.spec @@ -517,6 +517,19 @@ Source4001: rpminspect.yaml # empty final patch to facilitate testing of kernel patches Patch999999: linux-kernel-test.patch +Patch1000: debrand-single-cpu.patch +Patch1002: debrand-rh-i686-cpu.patch + +# Bring back deprecated PCI ids #CFHack #CFHack2024 +Patch2001: 0001-Enable-all-disabled-pci-devices-by-moving-to-unmaint.patch +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 BuildRoot: %{_tmppath}/%{name}-%{KVERREL}-root @@ -1072,6 +1085,18 @@ mv linux-%{specversion}-%{pkgrelease} linux-%{KVERREL} cd linux-%{KVERREL} +ApplyOptionalPatch debrand-single-cpu.patch +ApplyOptionalPatch debrand-rh-i686-cpu.patch + +ApplyPatch 0001-Enable-all-disabled-pci-devices-by-moving-to-unmaint.patch +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 # END OF PATCH APPLICATIONS @@ -2670,6 +2695,8 @@ fi %changelog * Mon Apr 15 2024 Arkady L. Shane - [4.18.0-544.el8] - Modified to use MSVSphere Secure Boot certificates +- Bring back deprecated pci ids to lpfc, qla4xxx, be2iscsi drivers +- Update and reenable pci related patches * Fri Mar 29 2024 MSVSphere Packaging Team - 4.18.0-544 - Rebuilt for MSVSphere 8.10 beta