Not cleaning the rings prevents creating devices again, which breaks to run some unit tests multiple times.
Signed-off-by: Ferruh Yigit <ferruh.yi...@intel.com> --- app/test/virtual_pmd.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/app/test/virtual_pmd.c b/app/test/virtual_pmd.c index 4d6ce302a563..17f28c5a304c 100644 --- a/app/test/virtual_pmd.c +++ b/app/test/virtual_pmd.c @@ -34,7 +34,7 @@ struct virtual_ethdev_queue { }; static int -virtual_ethdev_start_success(struct rte_eth_dev *eth_dev __rte_unused) +virtual_ethdev_start_success(struct rte_eth_dev *eth_dev) { eth_dev->data->dev_started = 1; @@ -42,13 +42,13 @@ virtual_ethdev_start_success(struct rte_eth_dev *eth_dev __rte_unused) } static int -virtual_ethdev_start_fail(struct rte_eth_dev *eth_dev __rte_unused) +virtual_ethdev_start_fail(struct rte_eth_dev *eth_dev) { eth_dev->data->dev_started = 0; return -1; } -static int virtual_ethdev_stop(struct rte_eth_dev *eth_dev __rte_unused) +static int virtual_ethdev_stop(struct rte_eth_dev *eth_dev) { void *pkt = NULL; struct virtual_ethdev_private *prv = eth_dev->data->dev_private; @@ -65,8 +65,13 @@ static int virtual_ethdev_stop(struct rte_eth_dev *eth_dev __rte_unused) } static int -virtual_ethdev_close(struct rte_eth_dev *dev __rte_unused) +virtual_ethdev_close(struct rte_eth_dev *eth_dev) { + struct virtual_ethdev_private *prv = eth_dev->data->dev_private; + + rte_ring_free(prv->rx_queue); + rte_ring_free(prv->tx_queue); + return 0; } -- 2.31.1