[dpdk-dev] rte_eth_dev_attach returns 0, although device is not attached

Igor Ryzhov iryzhov at nfware.com
Wed Aug 3 18:58:02 CEST 2016


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.

I think it should be:
ret = pci_probe_all_drivers(dev);
if (ret)
	goto err_return;
return 0;
Best regards,
Igor


More information about the dev mailing list