From: Peter Georg <peter.georg(a)physik.uni-regensburg.de>
mpt3sas: Add new messaging
Bugzilla:
https://bugzilla.redhat.com/2027741
Upstream Status: RHEL only
commit 2b260cf3b082a77b79a260ddb41d49c107c2b36c
Author: Tomas Henzl <thenzl(a)redhat.com>
Date: Tue Nov 30 18:13:36 2021 +0100
mpt3sas: Add new messaging
Upstream Status: RHEL only
Bugzilla:
https://bugzilla.redhat.com/show_bug.cgi?id=2027741
New messages based on input from BU and RH Engineering.
Signed-off-by: Tomas Henzl <thenzl(a)redhat.com>
Signed-off-by: Peter Georg <peter.georg(a)physik.uni-regensburg.de>
diff --git a/drivers/scsi/mpt3sas/mpt3sas_scsih.c b/drivers/scsi/mpt3sas/mpt3sas_scsih.c
index blahblah..blahblah 100644
--- a/drivers/scsi/mpt3sas/mpt3sas_scsih.c
+++ b/drivers/scsi/mpt3sas/mpt3sas_scsih.c
@@ -12060,6 +12060,35 @@ _scsih_determine_hba_mpi_version(struct pci_dev *pdev)
return 0;
}
+#ifdef CONFIG_RHEL_DIFFERENCES
+static const struct pci_device_id rh_disabled_pci_table[] = {
+ /* Spitfire ~ 2004 */
+ { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2004,
+ PCI_ANY_ID, PCI_ANY_ID },
+ /* Falcon ~ 2008 */
+ { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2008,
+ PCI_ANY_ID, PCI_ANY_ID },
+ /* Liberator ~ 2108 */
+ { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2108_1,
+ PCI_ANY_ID, PCI_ANY_ID },
+ { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2108_2,
+ PCI_ANY_ID, PCI_ANY_ID },
+ { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2108_3,
+ PCI_ANY_ID, PCI_ANY_ID },
+ /* Meteor ~ 2116 */
+ { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2116_1,
+ PCI_ANY_ID, PCI_ANY_ID },
+ { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2116_2,
+ PCI_ANY_ID, PCI_ANY_ID },
+
+ /* SSS6200 */
+ { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SSS6200,
+ PCI_ANY_ID, PCI_ANY_ID },
+
+ {0} /* Terminating entry */
+};
+#endif
+
/**
* _scsih_probe - attach and add scsi host
* @pdev: PCI device struct
@@ -12076,6 +12105,11 @@ _scsih_probe(struct pci_dev *pdev, const struct pci_device_id
*id)
u16 hba_mpi_version;
int iopoll_q_count = 0;
+#ifdef CONFIG_RHEL_DIFFERENCES
+ if (pci_hw_disabled(rh_disabled_pci_table, pdev))
+ return -ENODEV;
+#endif
+
/* Determine in which MPI version class this pci device belongs */
hba_mpi_version = _scsih_determine_hba_mpi_version(pdev);
if (hba_mpi_version == 0)
@@ -12605,7 +12639,6 @@ bool scsih_ncq_prio_supp(struct scsi_device *sdev)
* The pci device ids are defined in mpi/mpi2_cnfg.h.
*/
static const struct pci_device_id mpt3sas_pci_table[] = {
-#ifndef CONFIG_RHEL_DIFFERENCES
/* Spitfire ~ 2004 */
{ MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2004,
PCI_ANY_ID, PCI_ANY_ID },
@@ -12624,7 +12657,6 @@ static const struct pci_device_id mpt3sas_pci_table[] = {
PCI_ANY_ID, PCI_ANY_ID },
{ MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2116_2,
PCI_ANY_ID, PCI_ANY_ID },
-#endif
/* Thunderbolt ~ 2208 */
{ MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2208_1,
PCI_ANY_ID, PCI_ANY_ID },
@@ -12649,11 +12681,9 @@ static const struct pci_device_id mpt3sas_pci_table[] = {
PCI_ANY_ID, PCI_ANY_ID },
{ MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SWITCH_MPI_EP_1,
PCI_ANY_ID, PCI_ANY_ID },
-#ifndef CONFIG_RHEL_DIFFERENCES
/* SSS6200 */
{ MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SSS6200,
PCI_ANY_ID, PCI_ANY_ID },
-#endif
/* Fury ~ 3004 and 3008 */
{ MPI2_MFGPAGE_VENDORID_LSI, MPI25_MFGPAGE_DEVID_SAS3004,
PCI_ANY_ID, PCI_ANY_ID },
--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1610