net/enetc: release port upon close

With removal of old close behavior, the private
port resources must be released in the .dev_close callback.
Freeing of port private resources is moved from
the ".remove(device)" to the ".dev_close(port)" operation

Signed-off-by: Sachin Saxena <sachin.saxena@oss.nxp.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
This commit is contained in:
Sachin Saxena 2020-09-29 01:14:18 +02:00 committed by Ferruh Yigit
parent 5964d36a29
commit 71a2b9561c

View File

@ -565,6 +565,9 @@ enetc_dev_close(struct rte_eth_dev *dev)
}
dev->data->nb_tx_queues = 0;
if (rte_eal_iova_mode() == RTE_IOVA_PA)
dpaax_iova_table_depopulate();
return 0;
}
@ -874,6 +877,7 @@ enetc_dev_init(struct rte_eth_dev *eth_dev)
eth_dev->dev_ops = &enetc_ops;
eth_dev->rx_pkt_burst = &enetc_recv_pkts;
eth_dev->tx_pkt_burst = &enetc_xmit_pkts;
eth_dev->data->dev_flags |= RTE_ETH_DEV_CLOSE_REMOVE;
/* Retrieving and storing the HW base address of device */
hw->hw.reg = (void *)pci_dev->mem_resource[0].addr;
@ -916,14 +920,11 @@ enetc_dev_init(struct rte_eth_dev *eth_dev)
}
static int
enetc_dev_uninit(struct rte_eth_dev *eth_dev __rte_unused)
enetc_dev_uninit(struct rte_eth_dev *eth_dev)
{
PMD_INIT_FUNC_TRACE();
if (rte_eal_iova_mode() == RTE_IOVA_PA)
dpaax_iova_table_depopulate();
return 0;
return enetc_dev_close(eth_dev);
}
static int