summaryrefslogtreecommitdiffstats
path: root/drivers/net
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 /drivers/net
parent8679f07a9922068b9b6be81b632f52cac45d1b91 (diff)
downloadlinux-c7ee6ce1cf60b7fcdbdd2354d377d00bae3fa2d2.tar.gz
linux-c7ee6ce1cf60b7fcdbdd2354d377d00bae3fa2d2.tar.bz2
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>
Diffstat (limited to 'drivers/net')
-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 */