[dpdk-stable] [dpdk-dev] [PATCH 1/3] ethdev: avoid error on PCI unplug of already closed ethdev

Ferruh Yigit ferruh.yigit at intel.com
Tue Jul 2 19:38:54 CEST 2019


On 6/21/2019 11:15 AM, Andrew Rybchenko wrote:
> On 6/21/19 12:52 PM, David Marchand wrote:
>> On Fri, Jun 21, 2019 at 11:41 AM Andrew Rybchenko <arybchenko at 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: stable at dpdk.org
>>>
>>> Signed-off-by: Andrew Rybchenko <arybchenko at solarflare.com>
>>> Reviewed-by: Ivan Malov <ivan.malov at oktetlabs.ru>
>>> ---
>>> Cc: Thomas Monjalon <thomas at monjalon.net>
>>> Cc: Ferruh Yigit <ferruh.yigit at 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

Reported-by: David Marchand <david.marchand at redhat.com>

> 

Acked-by: Ferruh Yigit <ferruh.yigit at intel.com>




More information about the stable mailing list