bus/vdev: fix finding device by name
Use strcmp to compare device names as the strncmp in original code causes find_vdev to return -EEXIST for names that are prefix of another. The creation of interfaces fails unpredictably based on the order of their creation. An easy way hit this bug is to create eth_vhost1 after eth_vhost11. Fixes: dda987315ca2 ("vdev: make virtual bus use its device struct") Cc: stable@dpdk.org Signed-off-by: Nachiketa Prachanda <nprachan@vyatta.att-mail.com> Acked-by: Jianfeng Tan <jianfeng.tan@intel.com>
This commit is contained in:
parent
37d477b686
commit
fada6963ce
@ -188,7 +188,7 @@ find_vdev(const char *name)
|
||||
TAILQ_FOREACH(dev, &vdev_device_list, next) {
|
||||
const char *devname = rte_vdev_device_name(dev);
|
||||
|
||||
if (!strncmp(devname, name, strlen(name)))
|
||||
if (!strcmp(devname, name))
|
||||
return dev;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user