> -----Original Message-----
> From: Iremonger, Bernard
> Sent: Friday, June 26, 2015 10:33 AM
> To: dev at dpdk.org
> Cc: Zhang, Helin; Ananyev, Konstantin; Qiu, Michael; mukawa at igel.co.jp; 
> Iremonger, Bernard
> Subject: [PATCH v2] librte_ether: release memory in uninit function.
> 
> Changes in v2:
> do not free mac_addrs and hash_mac_addrs here.
> 
> Signed-off-by: Bernard Iremonger <bernard.iremonger at intel.com>
> ---
>  lib/librte_ether/rte_ethdev.c |    6 +++++-
>  1 files changed, 5 insertions(+), 1 deletions(-)
> 
> diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
> index e13fde5..7ae101a 100644
> --- a/lib/librte_ether/rte_ethdev.c
> +++ b/lib/librte_ether/rte_ethdev.c
> @@ -369,8 +369,12 @@ rte_eth_dev_uninit(struct rte_pci_device *pci_dev)
>       /* free ether device */
>       rte_eth_dev_release_port(eth_dev);
> 
> -     if (rte_eal_process_type() == RTE_PROC_PRIMARY)
> +     if (rte_eal_process_type() == RTE_PROC_PRIMARY) {
> +             rte_free(eth_dev->data->rx_queues);
> +             rte_free(eth_dev->data->tx_queues);
>               rte_free(eth_dev->data->dev_private);
> +             memset(eth_dev->data, 0, sizeof(struct rte_eth_dev_data));
> +     }
> 
>       eth_dev->pci_dev = NULL;
>       eth_dev->driver = NULL;
> --

Acked-by: Konstantin Ananyev <konstantin.ananyev at intel.com>

> 1.7.4.1

Reply via email to