[dpdk-dev] [PATCH v4 4/4] drivers/net: Fix in em and ice HW rings memory overlap
Renata Saiakhova
Renata.Saiakhova at ekinops.com
Mon Jun 22 11:54:43 CEST 2020
Delete memzones for HW rings in em and ice while freeing queues
Signed-off-by: Renata Saiakhova <Renata.Saiakhova at ekinops.com>
---
drivers/net/e1000/em_rxtx.c | 2 ++
drivers/net/ice/ice_rxtx.c | 2 ++
2 files changed, 4 insertions(+)
diff --git a/drivers/net/e1000/em_rxtx.c b/drivers/net/e1000/em_rxtx.c
index 49c53712a..67a271e8c 100644
--- a/drivers/net/e1000/em_rxtx.c
+++ b/drivers/net/e1000/em_rxtx.c
@@ -1611,12 +1611,14 @@ em_dev_free_queues(struct rte_eth_dev *dev)
for (i = 0; i < dev->data->nb_rx_queues; i++) {
eth_em_rx_queue_release(dev->data->rx_queues[i]);
dev->data->rx_queues[i] = NULL;
+ rte_eth_dma_zone_free(dev, "rx_ring", i);
}
dev->data->nb_rx_queues = 0;
for (i = 0; i < dev->data->nb_tx_queues; i++) {
eth_em_tx_queue_release(dev->data->tx_queues[i]);
dev->data->tx_queues[i] = NULL;
+ rte_eth_dma_zone_free(dev, "tx_ring", i);
}
dev->data->nb_tx_queues = 0;
}
diff --git a/drivers/net/ice/ice_rxtx.c b/drivers/net/ice/ice_rxtx.c
index 1c9f31efd..7c2dad9d6 100644
--- a/drivers/net/ice/ice_rxtx.c
+++ b/drivers/net/ice/ice_rxtx.c
@@ -1905,6 +1905,7 @@ ice_free_queues(struct rte_eth_dev *dev)
continue;
ice_rx_queue_release(dev->data->rx_queues[i]);
dev->data->rx_queues[i] = NULL;
+ rte_eth_dma_zone_free(dev, "rx_ring", i);
}
dev->data->nb_rx_queues = 0;
@@ -1913,6 +1914,7 @@ ice_free_queues(struct rte_eth_dev *dev)
continue;
ice_tx_queue_release(dev->data->tx_queues[i]);
dev->data->tx_queues[i] = NULL;
+ rte_eth_dma_zone_free(dev, "tx_ring", i);
}
dev->data->nb_tx_queues = 0;
}
--
2.17.2
More information about the dev
mailing list