qlcnic: Use pci_enable_msix_range() instead of pci_enable_msix()
authorAlexander Gordeev <agordeev@redhat.com>
Tue, 18 Feb 2014 10:11:57 +0000 (11:11 +0100)
committerDavid S. Miller <davem@davemloft.net>
Tue, 18 Feb 2014 20:33:33 +0000 (15:33 -0500)
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 <agordeev@redhat.com>
Cc: Himanshu Madhani <himanshu.madhani@qlogic.com>
Cc: Rajesh Borundia <rajesh.borundia@qlogic.com>
Cc: Shahed Shaikh <shahed.shaikh@qlogic.com>
Cc: linux-driver@qlogic.com
Cc: netdev@vger.kernel.org
Cc: linux-pci@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c

index 0c077cfc388b92c0b5d2e5f578ceb0b9fafcf861..e07fd948d98b65c43137d8ee285163c4f6b241ca 100644 (file)
@@ -701,13 +701,17 @@ enable_msix:
                for (vector = 0; vector < num_msix; vector++)
                        adapter->msix_entries[vector].entry = vector;
 
-               err = pci_enable_msix(pdev, adapter->msix_entries, num_msix);
-               if (err == 0) {
+               err = pci_enable_msix_range(pdev,
+                                           adapter->msix_entries, 1, num_msix);
+
+               if (err == num_msix) {
                        adapter->flags |= QLCNIC_MSIX_ENABLED;
                        adapter->ahw->num_msix = num_msix;
                        dev_info(&pdev->dev, "using msi-x interrupts\n");
                        return 0;
                } else if (err > 0) {
+                       pci_disable_msix(pdev);
+
                        dev_info(&pdev->dev,
                                 "Unable to allocate %d MSI-X vectors, Available vectors %d\n",
                                 num_msix, err);