aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel/ice/ice_lib.c
diff options
context:
space:
mode:
authorAnirudh Venkataramanan <anirudh.venkataramanan@intel.com>2018-10-26 13:41:02 -0400
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2018-11-13 12:09:26 -0500
commit10e03a22de45699b6208592b85437d87a4741b9b (patch)
tree2abc1122b454f570aac8f90afd168a24062dd7ef /drivers/net/ethernet/intel/ice/ice_lib.c
parentb354e98f49ce84b969e2c0e2bb44d026ea3c4900 (diff)
ice: Remove node before releasing VSI
Before releasing the VSI, remove the VSI scheduler node. If not, the node is left in the scheduler tree and, on subsequent load, the scheduler tree contains the node so it does not set it in vsi_ctx. This, later, causes the node to not be found in ice_sched_get_free_qparent which leads to a "Failed to set LAN Tx queue context, error: -1". To remove the scheduler node, this patch introduces ice_rm_vsi_lan_cfg and related helpers. 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>
Diffstat (limited to 'drivers/net/ethernet/intel/ice/ice_lib.c')
-rw-r--r--drivers/net/ethernet/intel/ice/ice_lib.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/ice/ice_lib.c b/drivers/net/ethernet/intel/ice/ice_lib.c
index 11d0ab185dd2..1efd760debc2 100644
--- a/drivers/net/ethernet/intel/ice/ice_lib.c
+++ b/drivers/net/ethernet/intel/ice/ice_lib.c
@@ -2492,6 +2492,7 @@ int ice_vsi_release(struct ice_vsi *vsi)
2492 } 2492 }
2493 2493
2494 ice_remove_vsi_fltr(&pf->hw, vsi->idx); 2494 ice_remove_vsi_fltr(&pf->hw, vsi->idx);
2495 ice_rm_vsi_lan_cfg(vsi->port_info, vsi->idx);
2495 ice_vsi_delete(vsi); 2496 ice_vsi_delete(vsi);
2496 ice_vsi_free_q_vectors(vsi); 2497 ice_vsi_free_q_vectors(vsi);
2497 ice_vsi_clear_rings(vsi); 2498 ice_vsi_clear_rings(vsi);