Hello Ferruh,

> 4 ???. 2016 ?., ? 14:33, Ferruh Yigit <ferruh.yigit at intel.com> ???????(?):
> 
> Hi Igor,
> 
> On 8/3/2016 5:58 PM, Igor Ryzhov wrote:
>> Hello.
>> 
>> Function rte_eth_dev_attach can return false positive result.
>> It happens because rte_eal_pci_probe_one returns zero if no driver is found 
>> for the device:
>> ret = pci_probe_all_drivers(dev);
>> if (ret < 0)
>>      goto err_return;
>> return 0;
>> (pci_probe_all_drivers returns 1 in that case)
>> 
>> For example, it can be easily reproduced by trying to attach virtio device, 
>> managed by kernel driver.
> 
> You are right, and I did able to reproduce this issue with virtio as you
> suggest.
> 
> But I wonder why rte_eth_dev_get_port_by_addr() is not catching this.
> Perhaps a dev->attached check needs to be added into this function.
> 
>> 
>> I think it should be:
>> ret = pci_probe_all_drivers(dev);
>> if (ret)
>>      goto err_return;
>> return 0;
> 
> Your proposal looks good to me. Will you send a patch?

Patch sent.

> 
>> Best regards,
>> Igor
>> 
> 

Reply via email to