ntb: Fix missed call to pci_enable_msix()
authorAlexander Gordeev <agordeev@redhat.com>
Wed, 2 Oct 2013 10:49:09 +0000 (12:49 +0200)
committerJon Mason <jon.mason@intel.com>
Wed, 20 Nov 2013 16:57:31 +0000 (09:57 -0700)
Current MSI-X enablement code assumes MSI-Xs were successfully
allocated in case less than requested vectors were available.
That assumption is wrong, since MSI-Xs should be enabled with
a repeated call to pci_enable_msix(). This update fixes this.

Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
Signed-off-by: Jon Mason <jon.mason@intel.com>
drivers/ntb/ntb_hw.c

index a9b065f3973a862f47b2fc013662e235aaad1261..fa97948e66ad033116392c409325a76e2bd1c6bb 100644 (file)
@@ -1084,6 +1084,10 @@ static int ntb_setup_msix(struct ntb_device *ndev)
                         "Only %d MSI-X vectors.  Limiting the number of queues to that number.\n",
                         rc);
                msix_entries = rc;
+
+               rc = pci_enable_msix(pdev, ndev->msix_entries, msix_entries);
+               if (rc)
+                       goto err1;
        }
 
        for (i = 0; i < msix_entries; i++) {