• Guilherme G Piccoli's avatar
    i40e: disable MSI-X interrupts if we cannot reserve enough vectors · 4c95aa5d
    Guilherme G Piccoli authored
    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: default avatarGuilherme G Piccoli <gpiccoli@linux.vnet.ibm.com>
    Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    4c95aa5d
i40e_main.c 318 KB