From: Peter Georg <peter.georg(a)physik.uni-regensburg.de>
be2iscsi: Add new messaging
Upstream Status: RHEL only
Signed-off-by: Peter Georg <peter.georg(a)physik.uni-regensburg.de>
diff --git a/drivers/scsi/be2iscsi/be_main.c b/drivers/scsi/be2iscsi/be_main.c
index blahblah..blahblah 100644
--- a/drivers/scsi/be2iscsi/be_main.c
+++ b/drivers/scsi/be2iscsi/be_main.c
@@ -372,18 +372,26 @@ 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[] = {
-#ifndef CONFIG_RHEL_DIFFERENCES
{ PCI_DEVICE(BE_VENDOR_ID, BE_DEVICE_ID1) },
{ PCI_DEVICE(BE_VENDOR_ID, BE_DEVICE_ID2) },
{ PCI_DEVICE(BE_VENDOR_ID, OC_DEVICE_ID1) },
{ PCI_DEVICE(BE_VENDOR_ID, OC_DEVICE_ID2) },
{ PCI_DEVICE(BE_VENDOR_ID, OC_DEVICE_ID3) },
-#endif
{ PCI_DEVICE(ELX_VENDOR_ID, OC_SKH_ID1) },
{ 0 }
};
MODULE_DEVICE_TABLE(pci, beiscsi_pci_id_table);
+#ifdef CONFIG_RHEL_DIFFERENCES
+static const struct pci_device_id rh_disabled_pci_table[] = {
+ { PCI_DEVICE(BE_VENDOR_ID, BE_DEVICE_ID1) },
+ { PCI_DEVICE(BE_VENDOR_ID, BE_DEVICE_ID2) },
+ { PCI_DEVICE(BE_VENDOR_ID, OC_DEVICE_ID1) },
+ { PCI_DEVICE(BE_VENDOR_ID, OC_DEVICE_ID2) },
+ { PCI_DEVICE(BE_VENDOR_ID, OC_DEVICE_ID3) },
+ {0} /* Terminating entry */
+};
+#endif
static struct scsi_host_template beiscsi_sht = {
.module = THIS_MODULE,
@@ -5516,6 +5524,11 @@ static int beiscsi_dev_probe(struct pci_dev *pcidev,
char wq_name[20];
int ret, i;
+#ifdef CONFIG_RHEL_DIFFERENCES
+ if (pci_hw_disabled(rh_disabled_pci_table, pdev))
+ return -ENODEV;
+#endif
+
ret = beiscsi_enable_pci(pcidev);
if (ret < 0) {
dev_err(&pcidev->dev,
--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1610