On 6/21/19 12:52 PM, David Marchand wrote:
On Fri, Jun 21, 2019 at 11:41 AM Andrew Rybchenko <arybche...@solarflare.com>
wrote:
If PCI Ethernet device driver removes it on close
(RTE_ETH_DEV_CLOSE_REMOVE) and later PCI device itself is unplugged,
it should not fail because of Ethernet device is already removed.

Fixes: 23ea57a2a0ce ("ethdev: complete closing of port")
Cc: sta...@dpdk.org

Signed-off-by: Andrew Rybchenko <arybche...@solarflare.com>
Reviewed-by: Ivan Malov <ivan.ma...@oktetlabs.ru>
---
Cc: Thomas Monjalon <tho...@monjalon.net>
Cc: Ferruh Yigit <ferruh.yi...@intel.com>

  lib/librte_ethdev/rte_ethdev_pci.h | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_ethdev/rte_ethdev_pci.h
b/lib/librte_ethdev/rte_ethdev_pci.h
index 23257e986..ccdbb46ec 100644
--- a/lib/librte_ethdev/rte_ethdev_pci.h
+++ b/lib/librte_ethdev/rte_ethdev_pci.h
@@ -184,7 +184,7 @@ rte_eth_dev_pci_generic_remove(struct rte_pci_device
*pci_dev,

         eth_dev = rte_eth_dev_allocated(pci_dev->device.name);
         if (!eth_dev)
-               return -ENODEV;
+               return 0;

         if (dev_uninit) {
                 ret = dev_uninit(eth_dev);
--
2.17.1

We are changing the behavior for all drivers, while I understand this
should apply to the ones that have the RTE_ETH_DEV_CLOSE_REMOVE flag.
Btw, I had reported this earlier [1], care to add a little Reported-by for
me ? :-)

Yes, I agree. Unfortunately there is no ethdev here to check
RTE_ETH_DEV_CLOSE_REMOVE. It could be PCI driver flag for the
feature, but I'm not sure if it makes sense to add one more
flag for transition.

1: http://mails.dpdk.org/archives/dev/2019-June/134150.html

Reply via email to