net/iavf: fix device stop
Checks
Commit Message
Move security context destroy from device stop to device close function.
Deleting the context on device stop can prevent the application from
properly cleaning and releasing resources.
Fixes: 6bc987ecb860 ("net/iavf: support IPsec inline crypto")
Cc: stable@dpdk.org
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
---
drivers/net/iavf/iavf_ethdev.c | 6 +++---
drivers/net/iavf/iavf_ipsec_crypto.c | 2 --
2 files changed, 3 insertions(+), 5 deletions(-)
@@ -1035,9 +1035,6 @@ iavf_dev_stop(struct rte_eth_dev *dev)
iavf_add_del_mc_addr_list(adapter, vf->mc_addrs, vf->mc_addrs_num,
false);
- /* free iAVF security device context all related resources */
- iavf_security_ctx_destroy(adapter);
-
adapter->stopped = 1;
dev->data->dev_started = 0;
@@ -2625,6 +2622,9 @@ iavf_dev_close(struct rte_eth_dev *dev)
ret = iavf_dev_stop(dev);
+ /* free iAVF security device context all related resources */
+ iavf_security_ctx_destroy(adapter);
+
iavf_flow_flush(dev, NULL);
iavf_flow_uninit(adapter);
@@ -1551,8 +1551,6 @@ iavf_security_ctx_destroy(struct iavf_adapter *adapter)
if (iavf_sctx == NULL)
return -ENODEV;
- /* TODO: Add resources cleanup */
-
/* free and reset security data structures */
rte_free(iavf_sctx);
rte_free(sctx);