From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Blunck Subject: [PATCH 2/4] ethdev: Free rx/tx_queues after releasing all queues Date: Wed, 23 Nov 2016 20:38:30 +0100 Message-ID: <1479929912-32079-2-git-send-email-jblunck@infradead.org> References: <1479929912-32079-1-git-send-email-jblunck@infradead.org> Cc: ferruh.yigit@intel.com, i.maximets@samsung.com, bruce.richardson@intel.com, declan.doherty@intel.com To: dev@dpdk.org Return-path: Received: from mail-wm0-f67.google.com (mail-wm0-f67.google.com [74.125.82.67]) by dpdk.org (Postfix) with ESMTP id DEE435598 for ; Wed, 23 Nov 2016 20:40:03 +0100 (CET) Received: by mail-wm0-f67.google.com with SMTP id g23so2967935wme.1 for ; Wed, 23 Nov 2016 11:40:03 -0800 (PST) In-Reply-To: <1479929912-32079-1-git-send-email-jblunck@infradead.org> 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" If all queues are released lets also free up the dev->data->rx/tx_queues to be able to properly reinitialize. Signed-off-by: Jan Blunck --- lib/librte_ether/rte_ethdev.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c index 8c4b6cd..a3986ad 100644 --- a/lib/librte_ether/rte_ethdev.c +++ b/lib/librte_ether/rte_ethdev.c @@ -531,6 +531,9 @@ rte_eth_dev_rx_queue_config(struct rte_eth_dev *dev, uint16_t nb_queues) for (i = nb_queues; i < old_nb_queues; i++) (*dev->dev_ops->rx_queue_release)(rxq[i]); + + rte_free(dev->data->rx_queues); + dev->data->rx_queues = NULL; } dev->data->nb_rx_queues = nb_queues; return 0; @@ -682,6 +685,9 @@ rte_eth_dev_tx_queue_config(struct rte_eth_dev *dev, uint16_t nb_queues) for (i = nb_queues; i < old_nb_queues; i++) (*dev->dev_ops->tx_queue_release)(txq[i]); + + rte_free(dev->data->tx_queues); + dev->data->tx_queues = NULL; } dev->data->nb_tx_queues = nb_queues; return 0; -- 2.7.4