Patch look good.
Acked-by: Anil Gurumurthy <anil.gurumur...@qlogic.com>

-----Original Message-----
From: linux-scsi-ow...@vger.kernel.org 
[mailto:linux-scsi-ow...@vger.kernel.org] On Behalf Of Alexander Gordeev
Sent: 14 April 2014 13:35
To: linux-kernel
Cc: Alexander Gordeev; Anil Gurumurthy; Vijaya Mohan Guvva; linux-scsi; 
linux-pci
Subject: [PATCH v2 RESEND 04/23] bfa: Use pci_enable_msix_exact() instead of 
pci_enable_msix()

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()  or 
pci_enable_msi_exact() and pci_enable_msix_range() or pci_enable_msix_exact() 
interfaces.

Signed-off-by: Alexander Gordeev <agord...@redhat.com>
Cc: Anil Gurumurthy <aguru...@brocade.com>
Cc: Vijaya Mohan Guvva <vmo...@brocade.com>
Cc: linux-scsi@vger.kernel.org
Cc: linux-...@vger.kernel.org
---
 drivers/scsi/bfa/bfad.c |   20 ++++++--------------
 1 files changed, 6 insertions(+), 14 deletions(-)

diff --git a/drivers/scsi/bfa/bfad.c b/drivers/scsi/bfa/bfad.c index 
e7e4774..839c81c 100644
--- a/drivers/scsi/bfa/bfad.c
+++ b/drivers/scsi/bfa/bfad.c
@@ -1234,29 +1234,21 @@ bfad_setup_intr(struct bfad_s *bfad)
        if ((bfa_asic_id_ctc(pdev->device) && !msix_disable_ct) ||
           (bfa_asic_id_cb(pdev->device) && !msix_disable_cb)) {

-               error = pci_enable_msix(bfad->pcidev, msix_entries, bfad->nvec);
+               error = pci_enable_msix_exact(bfad->pcidev,
+                                             msix_entries, bfad->nvec);
                /* In CT1 & CT2, try to allocate just one vector */
-               if (error > 0 && bfa_asic_id_ctc(pdev->device)) {
+               if (error == -ENOSPC && bfa_asic_id_ctc(pdev->device)) {
                        printk(KERN_WARNING "bfa %s: trying one msix "
                               "vector failed to allocate %d[%d]\n",
                               bfad->pci_name, bfad->nvec, error);
                        bfad->nvec = 1;
-                       error = pci_enable_msix(bfad->pcidev,
-                                               msix_entries, bfad->nvec);
+                       error = pci_enable_msix_exact(bfad->pcidev,
+                                                     msix_entries, 1);
                }

-               /*
-                * Only error number of vector is available.
-                * We don't have a mechanism to map multiple
-                * interrupts into one vector, so even if we
-                * can try to request less vectors, we don't
-                * know how to associate interrupt events to
-                *  vectors. Linux doesn't duplicate vectors
-                * in the MSIX table for this case.
-                */
                if (error) {
                        printk(KERN_WARNING "bfad%d: "
-                              "pci_enable_msix failed (%d), "
+                              "pci_enable_msix_exact failed (%d), "
                               "use line based.\n",
                                bfad->inst_no, error);
                        goto line_based;
--
1.7.7.6

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the 
body of a message to majord...@vger.kernel.org More majordomo info at  
http://vger.kernel.org/majordomo-info.html

________________________________

This message and any attached documents contain information from QLogic 
Corporation or its wholly-owned subsidiaries that may be confidential. If you 
are not the intended recipient, you may not read, copy, distribute, or use this 
information. If you have received this transmission in error, please notify the 
sender immediately by reply e-mail and then delete this message.

<<attachment: winmail.dat>>

Reply via email to