From 89307495131464d39eb5989a0ee4c1675fc43a83 Mon Sep 17 00:00:00 2001 From: Ajit Khaparde Date: Wed, 15 Jun 2016 14:23:33 -0700 Subject: [PATCH] net/bnxt: free memory in close operation This patch adds code to free all resources except the one corresponding to HWRM, which are required to notify the HWRM that the driver is unloaded (these are freed in uninit()). Signed-off-by: Ajit Khaparde Signed-off-by: Stephen Hurd Reviewed-by: David Christensen --- drivers/net/bnxt/bnxt_ethdev.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index d3a624fb96..425453155f 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -62,14 +62,6 @@ static struct rte_pci_id bnxt_pci_id_map[] = { {.device_id = 0}, }; -static void bnxt_dev_close_op(struct rte_eth_dev *eth_dev) -{ - struct bnxt *bp = (struct bnxt *)eth_dev->data->dev_private; - - rte_free(eth_dev->data->mac_addrs); - bnxt_free_hwrm_resources(bp); -} - /***********************/ /* @@ -388,6 +380,16 @@ error: return rc; } +static void bnxt_dev_close_op(struct rte_eth_dev *eth_dev) +{ + struct bnxt *bp = (struct bnxt *)eth_dev->data->dev_private; + + bnxt_free_tx_mbufs(bp); + bnxt_free_rx_mbufs(bp); + bnxt_free_mem(bp); + rte_free(eth_dev->data->mac_addrs); +} + /* Unload the driver, release resources */ static void bnxt_dev_stop_op(struct rte_eth_dev *eth_dev) { -- 2.20.1