On 11/11, Di, ChenxuX wrote: >Hi, > >> -----Original Message----- >> From: Ye, Xiaolong >> Sent: Monday, November 11, 2019 4:42 PM >> To: Di, ChenxuX <chenxux...@intel.com> >> Cc: dev@dpdk.org; Yang, Qiming <qiming.y...@intel.com> >> Subject: Re: [dpdk-dev] [PATCH v2] net/ixgbe: fix device hotplug remove >> >> On 11/07, Di ChenxuX wrote: >> >testpmd will occur infinite loops when device hotplug remove. >> >We can fix the issue by using the pci generic remove function >> > >> >Fixes: f2f4990eff94 ("net/ixgbe: release port upon close") >> > >> >Signed-off-by: Di ChenxuX <chenxux...@intel.com> >> > >> >v2: >> >reverted the code about ixgbe_vf_representor_uninit. >> >--- >> > drivers/net/ixgbe/ixgbe_ethdev.c | 5 +++-- >> > 1 file changed, 3 insertions(+), 2 deletions(-) >> > >> >diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c >> b/drivers/net/ixgbe/ixgbe_ethdev.c >> >index dbce7a80e..7ec55a4de 100644 >> >--- a/drivers/net/ixgbe/ixgbe_ethdev.c >> >+++ b/drivers/net/ixgbe/ixgbe_ethdev.c >> >@@ -1800,12 +1800,13 @@ static int eth_ixgbe_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, >> ixgbe_vf_representor_uninit); >> >> Can we use rte_eth_dev_pci_generic_remove for vf representor as well? >> > >I think it can be used. Should I do it and send a new patch?
Yes, please send a new patch after verification, and don't forget to remove rte_eth_dev_allocated check int eth_ixgbe_pci_remove, since it has been contained in rte_eth_dev_pci_generic_remove. Same for i40e patch. Thanks, Xiaolong > >Thx >Di Chenxu > >> Thanks, >> Xiaolong >> > else >> >- return rte_eth_dev_destroy(ethdev, eth_ixgbe_dev_uninit); >> >+ return rte_eth_dev_pci_generic_remove(pci_dev, >> >+ eth_ixgbe_dev_uninit); >> > } >> > >> > static struct rte_pci_driver rte_ixgbe_pmd = { >> >-- >> >2.17.1 >> >