• Jan Beulich's avatar
    igb: fix NULL derefs due to skipped SR-IOV enabling · be06998f
    Jan Beulich authored
    The combined effect of commits 6423fc34 ("igb: do not re-init SR-IOV
    during probe") and ceee3450 ("igb: make sure SR-IOV init uses the
    right number of queues") causes VFs no longer getting set up, leading
    to NULL pointer dereferences due to the adapter's ->vf_data being NULL
    while ->vfs_allocated_count is non-zero. The first commit not only
    neglected the side effect of igb_sriov_reinit() that the second commit
    tried to account for, but also that of setting IGB_FLAG_HAS_MSIX,
    without which igb_enable_sriov() is effectively a no-op. Calling
    igb_{,re}set_interrupt_capability() as done here seems to address this,
    but I'm not sure whether this is better than sinply reverting the other
    two commits.
    Signed-off-by: default avatarJan Beulich <jbeulich@suse.com>
    Tested-by: default avatarAaron Brown <aaron.f.brown@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    be06998f
igb_main.c 216 KB