As result of deprecation of MSI-X/MSI enablement functions
pci_enable_msix() and pci_enable_msi_block() all drivers
using these two interfaces need to be updated to use the
new pci_enable_msi_range() and pci_enable_msix_range()
interfaces.

Signed-off-by: Alexander Gordeev <[email protected]>
Cc: Neela Syam Kolli <[email protected]>
Cc: [email protected]
Cc: [email protected]
---
 drivers/scsi/megaraid/megaraid_sas_base.c |   25 +++++++++++--------------
 1 files changed, 11 insertions(+), 14 deletions(-)

diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c 
b/drivers/scsi/megaraid/megaraid_sas_base.c
index 3b7ad10..90944f1 100644
--- a/drivers/scsi/megaraid/megaraid_sas_base.c
+++ b/drivers/scsi/megaraid/megaraid_sas_base.c
@@ -3731,18 +3731,12 @@ static int megasas_init_fw(struct megasas_instance 
*instance)
                                             (unsigned int)num_online_cpus());
                for (i = 0; i < instance->msix_vectors; i++)
                        instance->msixentry[i].entry = i;
-               i = pci_enable_msix(instance->pdev, instance->msixentry,
-                                   instance->msix_vectors);
-               if (i >= 0) {
-                       if (i) {
-                               if (!pci_enable_msix(instance->pdev,
-                                                    instance->msixentry, i))
-                                       instance->msix_vectors = i;
-                               else
-                                       instance->msix_vectors = 0;
-                       }
-               } else
+               i = pci_enable_msix_range(instance->pdev, instance->msixentry,
+                                         1, instance->msix_vectors);
+               if (i < 0)
                        instance->msix_vectors = 0;
+               else
+                       instance->msix_vectors = i;
 
                dev_info(&instance->pdev->dev, "[scsi%d]: FW supports"
                        "<%d> MSIX vector,Online CPUs: <%d>,"
@@ -4667,9 +4661,11 @@ megasas_resume(struct pci_dev *pdev)
                goto fail_ready_state;
 
        /* Now re-enable MSI-X */
-       if (instance->msix_vectors)
-               pci_enable_msix(instance->pdev, instance->msixentry,
-                               instance->msix_vectors);
+       if (instance->msix_vectors &&
+           pci_enable_msix_range(instance->pdev, instance->msixentry,
+                                 instance->msix_vectors,
+                                 instance->msix_vectors) < 0)
+               goto fail_reenable_msix;
 
        switch (instance->pdev->device) {
        case PCI_DEVICE_ID_LSI_FUSION:
@@ -4756,6 +4752,7 @@ fail_init_mfi:
 
 fail_set_dma_mask:
 fail_ready_state:
+fail_reenable_msix:
 
        pci_disable_device(pdev);
 
-- 
1.7.7.6

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to