aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorHaiyue Wang <haiyue.wang@intel.com>2021-02-26 13:19:31 -0800
committerTony Nguyen <anthony.l.nguyen@intel.com>2021-06-04 07:37:48 -0700
commitc7ee6ce1cf60b7fcdbdd2354d377d00bae3fa2d2 (patch)
tree8b27b4a78138c72a28d1b1739e7ff103b8e08903
parentice: Fix VFR issues for AVF drivers that expect ATQLEN cleared (diff)
downloadwireguard-linux-c7ee6ce1cf60b7fcdbdd2354d377d00bae3fa2d2.tar.xz
wireguard-linux-c7ee6ce1cf60b7fcdbdd2354d377d00bae3fa2d2.zip
ice: handle the VF VSI rebuild failure
VSI rebuild can be failed for LAN queue config, then the VF's VSI will be NULL, the VF reset should be stopped with the VF entering into the disable state. Fixes: 12bb018c538c ("ice: Refactor VF reset") Signed-off-by: Haiyue Wang <haiyue.wang@intel.com> Tested-by: Konrad Jankowski <konrad0.jankowski@intel.com> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
-rw-r--r--drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c b/drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c
index 944d861c8579..97a46c616aca 100644
--- a/drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c
+++ b/drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c
@@ -1700,7 +1700,12 @@ bool ice_reset_vf(struct ice_vf *vf, bool is_vflr)
ice_vf_ctrl_vsi_release(vf);
ice_vf_pre_vsi_rebuild(vf);
- ice_vf_rebuild_vsi_with_release(vf);
+
+ if (ice_vf_rebuild_vsi_with_release(vf)) {
+ dev_err(dev, "Failed to release and setup the VF%u's VSI\n", vf->vf_id);
+ return false;
+ }
+
ice_vf_post_vsi_rebuild(vf);
/* if the VF has been reset allow it to come up again */