bnx2: Use pci_enable_msix_range() instead of pci_enable_msix()
authorAlexander Gordeev <agordeev@redhat.com>
Tue, 18 Feb 2014 10:07:53 +0000 (11:07 +0100)
committerDavid S. Miller <davem@davemloft.net>
Tue, 18 Feb 2014 20:33:29 +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: Michael Chan <mchan@broadcom.com>
Cc: netdev@vger.kernel.org
Cc: linux-pci@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnx2.c

index cda25ac45b475ad7c173a78191f232ea7a252882..ca6b36220d9440d58dda2de90adce6cc2f49a9ed 100644 (file)
@@ -6206,7 +6206,7 @@ bnx2_free_irq(struct bnx2 *bp)
 static void
 bnx2_enable_msix(struct bnx2 *bp, int msix_vecs)
 {
-       int i, total_vecs, rc;
+       int i, total_vecs;
        struct msix_entry msix_ent[BNX2_MAX_MSIX_VEC];
        struct net_device *dev = bp->dev;
        const int len = sizeof(bp->irq_tbl[0].name);
@@ -6229,16 +6229,9 @@ bnx2_enable_msix(struct bnx2 *bp, int msix_vecs)
 #ifdef BCM_CNIC
        total_vecs++;
 #endif
-       rc = -ENOSPC;
-       while (total_vecs >= BNX2_MIN_MSIX_VEC) {
-               rc = pci_enable_msix(bp->pdev, msix_ent, total_vecs);
-               if (rc <= 0)
-                       break;
-               if (rc > 0)
-                       total_vecs = rc;
-       }
-
-       if (rc != 0)
+       total_vecs = pci_enable_msix_range(bp->pdev, msix_ent,
+                                          BNX2_MIN_MSIX_VEC, total_vecs);
+       if (total_vecs < 0)
                return;
 
        msix_vecs = total_vecs;