mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-15 04:26:42 +07:00
i40e: disable MSI-X interrupts if we cannot reserve enough vectors
If we fail on allocating enough MSI-X interrupts, we should disable them since they were previously enabled in this point of code. Not disabling them can lead to WARN_ON() being triggered and subsequent failure in enabling MSI as a fallback; the below message was shown without this patch while we played with interrupt allocation in i40e driver: [ 21.461346] sysfs: cannot create duplicate filename '/devices/pci0007:00/0007:00:00.0/0007:01:00.3/msi_irqs' [ 21.461459] ------------[ cut here ]------------ [ 21.461514] WARNING: CPU: 64 PID: 1155 at fs/sysfs/dir.c:31 sysfs_warn_dup+0x88/0xc0 Also, we noticed that without this patch, if we modprobe the module without enough MSI-X interrupts (triggering the above warning), unload the module and re-load it again, we got a crash on the system. Signed-off-by: Guilherme G Piccoli <gpiccoli@linux.vnet.ibm.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
ea6acb7ef7
commit
4c95aa5d8f
@ -7684,6 +7684,7 @@ static int i40e_init_msix(struct i40e_pf *pf)
|
||||
pf->flags &= ~I40E_FLAG_MSIX_ENABLED;
|
||||
kfree(pf->msix_entries);
|
||||
pf->msix_entries = NULL;
|
||||
pci_disable_msix(pf->pdev);
|
||||
return -ENODEV;
|
||||
|
||||
} else if (v_actual == I40E_MIN_MSIX) {
|
||||
|
Loading…
Reference in New Issue
Block a user