The rte_eth_dev_close() function now handles freeing resources for
devices (e.g., mac_addrs).  There is no change in behaviour for AVP
devices since they do not currently free their dynamic memory; which was
a bug.  To conform with the new close() behaviour we are asserting the
RTE_ETH_DEV_CLOSE_REMOVE flag so that rte_eth_dev_close() releases
all device related dynamic memory.

Cc: Matt Peters <matt.pet...@windriver.com>
Signed-off-by: Allain Legacy <allain.leg...@windriver.com>
---
 drivers/net/avp/avp_ethdev.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/avp/avp_ethdev.c b/drivers/net/avp/avp_ethdev.c
index 09388d05f..7c37f4c8a 100644
--- a/drivers/net/avp/avp_ethdev.c
+++ b/drivers/net/avp/avp_ethdev.c
@@ -959,6 +959,8 @@ eth_avp_dev_init(struct rte_eth_dev *eth_dev)
        eth_dev->dev_ops = &avp_eth_dev_ops;
        eth_dev->rx_pkt_burst = &avp_recv_pkts;
        eth_dev->tx_pkt_burst = &avp_xmit_pkts;
+       /* Let rte_eth_dev_close() release the port resources */
+       eth_dev->data->dev_flags |= RTE_ETH_DEV_CLOSE_REMOVE;
 
        if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
                /*
-- 
2.12.1

Reply via email to