On 10/21/2021 3:24 AM, Huisong Li wrote:
In secondary process, rte_eth_dev_close() doesn't clear eth_dev->data. If calling rte_dev_remove() after rte_eth_dev_close(), in rte_eth_dev_pci_generic_remove() function, the released eth device still can be found by its name in shared memory. As a result, the eth device will be released repeatedly. The state of the eth device is modified to RTE_ETH_DEV_UNUSED after rte_eth_dev_close(). So this state can be used to avoid this problem.Fixes: dcd5c8112bc3 ("ethdev: add PCI driver helpers") Cc: [email protected] Signed-off-by: Huisong Li <[email protected]>
Reviewed-by: Ferruh Yigit <[email protected]> Applied to dpdk-next-net/main, thanks.

