From: Chenxu Di Date: Tue, 12 Nov 2019 05:56:06 +0000 (+0000) Subject: net/i40e: fix hotplug remove X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=e2d6596bc35036e514faef706724104498e2493b;p=dpdk.git net/i40e: fix hotplug remove testpmd will occur infinite loops when device hotplug remove. We can fix the issue by using the pci generic remove function Fixes: ac89d46096d5 ("net/i40e: release port upon close") Signed-off-by: Chenxu Di Acked-by: Xiaolong Ye --- diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c index 27d2c0e6ca..9a81f995d8 100644 --- a/drivers/net/i40e/i40e_ethdev.c +++ b/drivers/net/i40e/i40e_ethdev.c @@ -698,13 +698,14 @@ static int eth_i40e_pci_remove(struct rte_pci_device *pci_dev) ethdev = rte_eth_dev_allocated(pci_dev->device.name); if (!ethdev) - return -ENODEV; - + return 0; if (ethdev->data->dev_flags & RTE_ETH_DEV_REPRESENTOR) - return rte_eth_dev_destroy(ethdev, i40e_vf_representor_uninit); + return rte_eth_dev_pci_generic_remove(pci_dev, + i40e_vf_representor_uninit); else - return rte_eth_dev_destroy(ethdev, eth_i40e_dev_uninit); + return rte_eth_dev_pci_generic_remove(pci_dev, + eth_i40e_dev_uninit); } static struct rte_pci_driver rte_i40e_pmd = {