From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hurd Subject: [PATCH v5 33/38] bnxt: free memory in close operation Date: Tue, 14 Jun 2016 15:56:06 -0700 Message-ID: <1465944971-113413-33-git-send-email-stephen.hurd@broadcom.com> References: <1465250923-78695-1-git-send-email-stephen.hurd@broadcom.com> <1465944971-113413-1-git-send-email-stephen.hurd@broadcom.com> To: dev@dpdk.org, ajit.khaparde@broadcom.com, bruce.richardson@intel.com Return-path: Received: from mail-gw2-out.broadcom.com (mail-gw2-out.broadcom.com [216.31.210.63]) by dpdk.org (Postfix) with ESMTP id D118BAD90 for ; Wed, 15 Jun 2016 00:57:15 +0200 (CEST) In-Reply-To: <1465944971-113413-1-git-send-email-stephen.hurd@broadcom.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Ajit Khaparde 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 -- v5: Reorder the footer. --- 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 d3a624f..4254531 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) { -- 1.9.1