summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJingjing Wu <jingjing.wu@intel.com>2016-07-25 13:36:09 +0800
committerThomas Monjalon <thomas.monjalon@6wind.com>2016-07-25 17:55:12 +0200
commit47750a2bba600447543bad6deefaad9259eed275 (patch)
tree1c9c3f83fb147f91996914b24ec4740bacc5d015
parentb7aabd7a87cee66ec3c8e010ee45e0ca70d0d914 (diff)
downloaddpdk-47750a2bba600447543bad6deefaad9259eed275.zip
dpdk-47750a2bba600447543bad6deefaad9259eed275.tar.gz
dpdk-47750a2bba600447543bad6deefaad9259eed275.tar.xz
net/i40e: fix VSI removing when releasing
VSI structure needs to be removed from TAILQ list when releasing. But for the child VSI it will be removed again after the structure is freed. It will cause core dump when the DPDK i40e using as PF host driver. This patch fixes it to only remove child VSI from TAILQ before send adminq command to remove it from hardware. Fixes: 4861cde46116 ("i40e: new poll mode driver") Fixes: 440499cf5376 ("net/i40e: support floating VEB") Signed-off-by: Jingjing Wu <jingjing.wu@intel.com> Acked-by: Helin Zhang <helin.zhang@intel.com>
-rw-r--r--drivers/net/i40e/i40e_ethdev.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 11a5804..d0aeb70 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -4110,7 +4110,6 @@ i40e_vsi_release(struct i40e_vsi *vsi)
TAILQ_FOREACH_SAFE(vsi_list, &vsi->veb->head, list, temp) {
if (i40e_vsi_release(vsi_list->vsi) != I40E_SUCCESS)
return -1;
- TAILQ_REMOVE(&vsi->veb->head, vsi_list, list);
}
i40e_veb_release(vsi->veb);
}
@@ -4119,7 +4118,6 @@ i40e_vsi_release(struct i40e_vsi *vsi)
TAILQ_FOREACH_SAFE(vsi_list, &vsi->floating_veb->head, list, temp) {
if (i40e_vsi_release(vsi_list->vsi) != I40E_SUCCESS)
return -1;
- TAILQ_REMOVE(&vsi->floating_veb->head, vsi_list, list);
}
}