]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
ice: Reset all VFs with VFLR during SR-IOV init flow
authorAkeem G Abodunrin <akeem.g.abodunrin@intel.com>
Fri, 8 Feb 2019 20:50:58 +0000 (12:50 -0800)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Wed, 20 Mar 2019 00:02:26 +0000 (17:02 -0700)
During SR-IOV initialization, we allocate and setup VFs with reset, and
since we were going to inform Firmware about our intention to do VFLR by
disabling LAN TX Queue, then we really have to complete VF reset flow with
VFLR using appropriate registers - Otherwise, reset status bit for VF in
the Guest OS might returns DEADBEEF.
This resolves issue to properly initialize VFs in the Guest OS via PCI
passthrough.

Signed-off-by: Akeem G Abodunrin <akeem.g.abodunrin@intel.com>
Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c

index d73915af5b18a32bbbfb2d1e08a4236ab80d12b3..bc1cdb916859231f9f7ae281b7d990559506dcd1 100644 (file)
@@ -1029,7 +1029,7 @@ static int ice_alloc_vfs(struct ice_pf *pf, u16 num_alloc_vfs)
        pf->num_alloc_vfs = num_alloc_vfs;
 
        /* VF resources get allocated during reset */
-       if (!ice_reset_all_vfs(pf, false))
+       if (!ice_reset_all_vfs(pf, true))
                goto err_unroll_sriov;
 
        goto err_unroll_intr;