[prev in list] [next in list] [prev in thread] [next in thread]
List: dpdk-dev
Subject: [PATCH 7/7] net/nfp: fix resource leak for VF
From: Chaoyong He <chaoyong.he () corigine ! com>
Date: 2023-11-30 8:52:38
Message-ID: 20231130085238.60290-8-chaoyong.he () corigine ! com
[Download RAW message or body]
Fix the resource leak problem in the logic of VF.
Fixes: f26e82397f6d ("net/nfp: implement xstats")
Cc: james.hershaw@corigine.com
Cc: stable@dpdk.org
Signed-off-by: Chaoyong He <chaoyong.he@corigine.com>
Reviewed-by: Long Wu <long.wu@corigine.com>
Reviewed-by: Peng Zhang <peng.zhang@corigine.com>
---
drivers/net/nfp/nfp_ethdev_vf.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/drivers/net/nfp/nfp_ethdev_vf.c b/drivers/net/nfp/nfp_ethdev_vf.c
index 7927f53403..88da593190 100644
--- a/drivers/net/nfp/nfp_ethdev_vf.c
+++ b/drivers/net/nfp/nfp_ethdev_vf.c
@@ -160,13 +160,17 @@ nfp_netvf_set_link_down(struct rte_eth_dev *dev __rte_unused)
static int
nfp_netvf_close(struct rte_eth_dev *dev)
{
+ struct nfp_net_hw *net_hw;
struct rte_pci_device *pci_dev;
if (rte_eal_process_type() != RTE_PROC_PRIMARY)
return 0;
+ net_hw = dev->data->dev_private;
pci_dev = RTE_ETH_DEV_TO_PCI(dev);
+ rte_free(net_hw->eth_xstats_base);
+
/*
* We assume that the DPDK application is stopping all the
* threads/queues before calling the device close function.
@@ -323,7 +327,7 @@ nfp_netvf_init(struct rte_eth_dev *eth_dev)
if (eth_dev->data->mac_addrs == NULL) {
PMD_INIT_LOG(ERR, "Failed to space for MAC address");
err = -ENOMEM;
- goto dev_err_ctrl_map;
+ goto free_xstats;
}
nfp_read_mac(hw);
@@ -360,8 +364,8 @@ nfp_netvf_init(struct rte_eth_dev *eth_dev)
return 0;
-dev_err_ctrl_map:
- nfp_cpp_area_free(net_hw->ctrl_area);
+free_xstats:
+ rte_free(net_hw->eth_xstats_base);
return err;
}
--
2.39.1
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic