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? 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 > >