aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
index 0c077cfc388b..e07fd948d98b 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c
@@ -701,13 +701,17 @@ enable_msix:
701 for (vector = 0; vector < num_msix; vector++) 701 for (vector = 0; vector < num_msix; vector++)
702 adapter->msix_entries[vector].entry = vector; 702 adapter->msix_entries[vector].entry = vector;
703 703
704 err = pci_enable_msix(pdev, adapter->msix_entries, num_msix); 704 err = pci_enable_msix_range(pdev,
705 if (err == 0) { 705 adapter->msix_entries, 1, num_msix);
706
707 if (err == num_msix) {
706 adapter->flags |= QLCNIC_MSIX_ENABLED; 708 adapter->flags |= QLCNIC_MSIX_ENABLED;
707 adapter->ahw->num_msix = num_msix; 709 adapter->ahw->num_msix = num_msix;
708 dev_info(&pdev->dev, "using msi-x interrupts\n"); 710 dev_info(&pdev->dev, "using msi-x interrupts\n");
709 return 0; 711 return 0;
710 } else if (err > 0) { 712 } else if (err > 0) {
713 pci_disable_msix(pdev);
714
711 dev_info(&pdev->dev, 715 dev_info(&pdev->dev,
712 "Unable to allocate %d MSI-X vectors, Available vectors %d\n", 716 "Unable to allocate %d MSI-X vectors, Available vectors %d\n",
713 num_msix, err); 717 num_msix, err);