diff options
-rw-r--r-- | drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 8 |
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); |