[dpdk-dev] [PATCH v2] net/ixgbe: fix device hotplug remove

Di, ChenxuX chenxux.di at intel.com
Mon Nov 11 09:50:35 CET 2019


Hi,

> -----Original Message-----
> From: Ye, Xiaolong
> Sent: Monday, November 11, 2019 4:42 PM
> To: Di, ChenxuX <chenxux.di at intel.com>
> Cc: dev at dpdk.org; Yang, Qiming <qiming.yang at 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.di at 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
> >


More information about the dev mailing list