ufs: tune bkops while power managment events
[firefly-linux-kernel-4.4.55.git] / drivers / scsi / pmcraid.c
index 6f3275d020a044abd3607e9ca6b4f114dd45200f..bcb64eb1387f0565976449eb9a45941ec7186514 100644 (file)
@@ -4698,19 +4698,10 @@ pmcraid_register_interrupt_handler(struct pmcraid_instance *pinstance)
                for (i = 0; i < PMCRAID_NUM_MSIX_VECTORS; i++)
                        entries[i].entry = i;
 
-               rc = pci_enable_msix(pdev, entries, num_hrrq);
-               if (rc < 0)
+               num_hrrq = pci_enable_msix_range(pdev, entries, 1, num_hrrq);
+               if (num_hrrq < 0)
                        goto pmcraid_isr_legacy;
 
-               /* Check how many MSIX vectors are allocated and register
-                * msi-x handlers for each of them giving appropriate buffer
-                */
-               if (rc > 0) {
-                       num_hrrq = rc;
-                       if (pci_enable_msix(pdev, entries, num_hrrq))
-                               goto pmcraid_isr_legacy;
-               }
-
                for (i = 0; i < num_hrrq; i++) {
                        pinstance->hrrq_vector[i].hrrq_id = i;
                        pinstance->hrrq_vector[i].drv_inst = pinstance;
@@ -4746,7 +4737,6 @@ pmcraid_isr_legacy:
        pinstance->hrrq_vector[0].drv_inst = pinstance;
        pinstance->hrrq_vector[0].vector = pdev->irq;
        pinstance->num_hrrq = 1;
-       rc = 0;
 
        rc = request_irq(pdev->irq, pmcraid_isr, IRQF_SHARED,
                         PMCRAID_DRIVER_NAME, &pinstance->hrrq_vector[0]);