mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 21:38:32 +08:00
vmxnet3: 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() and pci_enable_msix_range() interfaces. Signed-off-by: Alexander Gordeev <agordeev@redhat.com> Cc: Shreyas Bhatewara <sbhatewara@vmware.com> Cc: pv-drivers@vmware.com Cc: netdev@vger.kernel.org Cc: linux-pci@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
b60b869d5f
commit
c0a1be3842
@ -2738,35 +2738,26 @@ vmxnet3_read_mac_addr(struct vmxnet3_adapter *adapter, u8 *mac)
|
||||
static int
|
||||
vmxnet3_acquire_msix_vectors(struct vmxnet3_adapter *adapter, int nvec)
|
||||
{
|
||||
do {
|
||||
int err = pci_enable_msix(adapter->pdev,
|
||||
adapter->intr.msix_entries, nvec);
|
||||
if (!err) {
|
||||
return nvec;
|
||||
} else if (err < 0) {
|
||||
dev_err(&adapter->netdev->dev,
|
||||
"Failed to enable MSI-X, error: %d\n", err);
|
||||
return err;
|
||||
} else if (err < VMXNET3_LINUX_MIN_MSIX_VECT) {
|
||||
dev_info(&adapter->pdev->dev,
|
||||
"Number of MSI-X which can be allocated "
|
||||
"is lower than min threshold required.\n");
|
||||
return -ENOSPC;
|
||||
} else {
|
||||
/* If fails to enable required number of MSI-x vectors
|
||||
* try enabling minimum number of vectors required.
|
||||
*/
|
||||
dev_err(&adapter->netdev->dev,
|
||||
"Failed to enable %d MSI-X, trying %d\n",
|
||||
nvec, VMXNET3_LINUX_MIN_MSIX_VECT);
|
||||
nvec = VMXNET3_LINUX_MIN_MSIX_VECT;
|
||||
}
|
||||
} while (nvec >= VMXNET3_LINUX_MIN_MSIX_VECT);
|
||||
int ret = pci_enable_msix_range(adapter->pdev,
|
||||
adapter->intr.msix_entries, nvec, nvec);
|
||||
|
||||
/*
|
||||
* Should never get here
|
||||
*/
|
||||
return -ENOSPC;
|
||||
if (ret == -ENOSPC && nvec > VMXNET3_LINUX_MIN_MSIX_VECT) {
|
||||
dev_err(&adapter->netdev->dev,
|
||||
"Failed to enable %d MSI-X, trying %d\n",
|
||||
nvec, VMXNET3_LINUX_MIN_MSIX_VECT);
|
||||
|
||||
ret = pci_enable_msix_range(adapter->pdev,
|
||||
adapter->intr.msix_entries,
|
||||
VMXNET3_LINUX_MIN_MSIX_VECT,
|
||||
VMXNET3_LINUX_MIN_MSIX_VECT);
|
||||
}
|
||||
|
||||
if (ret < 0) {
|
||||
dev_err(&adapter->netdev->dev,
|
||||
"Failed to enable MSI-X, error: %d\n", ret);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user