From: Long Wu <long...@corigine.com>

Close interface use "rte_eth_dev_destroy()" to destroy representor. The
"rte_eth_dev_destroy()" will call "rte_eth_dev_release_port()" but the
"rte_eth_dev_close()" also calls "rte_eth_dev_release_port()". This will
cause Segmentation fault.

Remove the "rte_eth_dev_destroy()" in nfp representor close interface.

Fixes: a135bc1644d6 ("net/nfp: fix resource leak for flower firmware")
Cc: chaoyong...@corigine.com
Cc: sta...@dpdk.org

Signed-off-by: Long Wu <long...@corigine.com>
Reviewed-by: Chaoyong He <chaoyong...@corigine.com>
Reviewed-by: Peng Zhang <peng.zh...@corigine.com>
---
 drivers/net/nfp/flower/nfp_flower_representor.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/nfp/flower/nfp_flower_representor.c 
b/drivers/net/nfp/flower/nfp_flower_representor.c
index 7d8c055b80..27ea3891bd 100644
--- a/drivers/net/nfp/flower/nfp_flower_representor.c
+++ b/drivers/net/nfp/flower/nfp_flower_representor.c
@@ -314,13 +314,13 @@ nfp_flower_repr_free(struct nfp_flower_representor *repr,
 {
        switch (repr_type) {
        case NFP_REPR_TYPE_PHYS_PORT:
-               rte_eth_dev_destroy(repr->eth_dev, nfp_flower_repr_uninit);
+               nfp_flower_repr_uninit(repr->eth_dev);
                break;
        case NFP_REPR_TYPE_PF:
-               rte_eth_dev_destroy(repr->eth_dev, nfp_flower_pf_repr_uninit);
+               nfp_flower_pf_repr_uninit(repr->eth_dev);
                break;
        case NFP_REPR_TYPE_VF:
-               rte_eth_dev_destroy(repr->eth_dev, nfp_flower_repr_uninit);
+               nfp_flower_repr_uninit(repr->eth_dev);
                break;
        default:
                PMD_DRV_LOG(ERR, "Unsupported repr port type.");
-- 
2.39.1

Reply via email to