|
@@ -701,13 +701,17 @@ enable_msix:
|
|
|
for (vector = 0; vector < num_msix; vector++)
|
|
|
adapter->msix_entries[vector].entry = vector;
|
|
|
|
|
|
- err = pci_enable_msix(pdev, adapter->msix_entries, num_msix);
|
|
|
- if (err == 0) {
|
|
|
+ err = pci_enable_msix_range(pdev,
|
|
|
+ adapter->msix_entries, 1, num_msix);
|
|
|
+
|
|
|
+ if (err == num_msix) {
|
|
|
adapter->flags |= QLCNIC_MSIX_ENABLED;
|
|
|
adapter->ahw->num_msix = num_msix;
|
|
|
dev_info(&pdev->dev, "using msi-x interrupts\n");
|
|
|
return 0;
|
|
|
} else if (err > 0) {
|
|
|
+ pci_disable_msix(pdev);
|
|
|
+
|
|
|
dev_info(&pdev->dev,
|
|
|
"Unable to allocate %d MSI-X vectors, Available vectors %d\n",
|
|
|
num_msix, err);
|