From: Wei Zhao Date: Wed, 29 Apr 2020 02:03:53 +0000 (+0800) Subject: net/i40e: fix flush of flow director filter X-Git-Url: http://git.droids-corp.org/?p=dpdk.git;a=commitdiff_plain;h=1491f63c75596b01b95355e395dde6795fab3c8b net/i40e: fix flush of flow director filter When we flush FDIR filter, we can not call i40e_fdir_teardown() function as it will free vsi used for FDIR, then the vsi->base_queue will be freed from pf->qp_pool, but vsi->base_queue can only get once when do dev init in i40e_pf_setup(). If we free it, it will never be alloc again. Bugzilla ID: 404 Fixes: 2e67a7fbf3ff ("net/i40e: config flow director automatically") Cc: stable@dpdk.org Signed-off-by: Wei Zhao Acked-by: Beilei Xing --- diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c index 1533d5abbd..65f877866d 100644 --- a/drivers/net/i40e/i40e_flow.c +++ b/drivers/net/i40e/i40e_flow.c @@ -5145,7 +5145,6 @@ i40e_flow_destroy(struct rte_eth_dev *dev, /* If the last flow is destroyed, disable fdir. */ if (!ret && TAILQ_EMPTY(&pf->fdir.fdir_list)) { - i40e_fdir_teardown(pf); i40e_fdir_rx_proc_enable(dev, 0); } break; @@ -5343,8 +5342,6 @@ i40e_flow_flush_fdir_filter(struct i40e_pf *pf) pf->fdir.inset_flag[pctype] = 0; } - i40e_fdir_teardown(pf); - return ret; }