aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel/i40evf/i40evf_main.c
diff options
context:
space:
mode:
authorAlexander Gordeev <agordeev@redhat.com>2014-04-28 13:53:16 -0400
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2014-05-21 07:11:10 -0400
commitfc2f2f5dfd4438bd785e773e46adf425b1e353f1 (patch)
treee073c37a1402dd7445f5f13801d2434b05f38248 /drivers/net/ethernet/intel/i40evf/i40evf_main.c
parentdf805f62d16db15fdb9278bcb56ee3863deebfb8 (diff)
i40evf: Use pci_enable_msix_range() 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. Cc: Jesse Brandeburg <jesse.brandeburg@intel.com> Cc: linux-pci@vger.kernel.org Signed-off-by: Alexander Gordeev <agordeev@redhat.com> Tested-by: Sibai Li <sibai.li@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/i40evf/i40evf_main.c')
-rw-r--r--drivers/net/ethernet/intel/i40evf/i40evf_main.c31
1 files changed, 11 insertions, 20 deletions
diff --git a/drivers/net/ethernet/intel/i40evf/i40evf_main.c b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
index 13989ef35750..6f6bd3f01801 100644
--- a/drivers/net/ethernet/intel/i40evf/i40evf_main.c
+++ b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
@@ -1032,30 +1032,21 @@ i40evf_acquire_msix_vectors(struct i40evf_adapter *adapter, int vectors)
1032 * Right now, we simply care about how many we'll get; we'll 1032 * Right now, we simply care about how many we'll get; we'll
1033 * set them up later while requesting irq's. 1033 * set them up later while requesting irq's.
1034 */ 1034 */
1035 while (vectors >= vector_threshold) { 1035 err = pci_enable_msix_range(adapter->pdev, adapter->msix_entries,
1036 err = pci_enable_msix(adapter->pdev, adapter->msix_entries, 1036 vector_threshold, vectors);
1037 vectors); 1037 if (err < 0) {
1038 if (!err) /* Success in acquiring all requested vectors. */
1039 break;
1040 else if (err < 0)
1041 vectors = 0; /* Nasty failure, quit now */
1042 else /* err == number of vectors we should try again with */
1043 vectors = err;
1044 }
1045
1046 if (vectors < vector_threshold) {
1047 dev_err(&adapter->pdev->dev, "Unable to allocate MSI-X interrupts.\n"); 1038 dev_err(&adapter->pdev->dev, "Unable to allocate MSI-X interrupts.\n");
1048 kfree(adapter->msix_entries); 1039 kfree(adapter->msix_entries);
1049 adapter->msix_entries = NULL; 1040 adapter->msix_entries = NULL;
1050 err = -EIO; 1041 return err;
1051 } else {
1052 /* Adjust for only the vectors we'll use, which is minimum
1053 * of max_msix_q_vectors + NONQ_VECS, or the number of
1054 * vectors we were allocated.
1055 */
1056 adapter->num_msix_vectors = vectors;
1057 } 1042 }
1058 return err; 1043
1044 /* Adjust for only the vectors we'll use, which is minimum
1045 * of max_msix_q_vectors + NONQ_VECS, or the number of
1046 * vectors we were allocated.
1047 */
1048 adapter->num_msix_vectors = err;
1049 return 0;
1059} 1050}
1060 1051
1061/** 1052/**