|
|
@@ -2038,13 +2038,16 @@ void e1000e_set_interrupt_capability(struct e1000_adapter *adapter)
|
|
|
msix_entry),
|
|
|
GFP_KERNEL);
|
|
|
if (adapter->msix_entries) {
|
|
|
+ struct e1000_adapter *a = adapter;
|
|
|
+
|
|
|
for (i = 0; i < adapter->num_vectors; i++)
|
|
|
adapter->msix_entries[i].entry = i;
|
|
|
|
|
|
- err = pci_enable_msix(adapter->pdev,
|
|
|
- adapter->msix_entries,
|
|
|
- adapter->num_vectors);
|
|
|
- if (err == 0)
|
|
|
+ err = pci_enable_msix_range(a->pdev,
|
|
|
+ a->msix_entries,
|
|
|
+ a->num_vectors,
|
|
|
+ a->num_vectors);
|
|
|
+ if (err > 0)
|
|
|
return;
|
|
|
}
|
|
|
/* MSI-X failed, so fall through and try MSI */
|