From eed9fdf645c44dd965963ec4506af043f56542bd Mon Sep 17 00:00:00 2001 From: Pavan Nikhilesh Date: Fri, 15 Jun 2018 09:15:24 +0530 Subject: [PATCH] eventdev: include PCI devices when getting id from name Currently, rte_event_dev_get_dev_id works only for virtual devices(vdev) update the function to include devices probed through pci. Signed-off-by: Pavan Nikhilesh Acked-by: Jerin Jacob --- lib/librte_eventdev/rte_eventdev.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/librte_eventdev/rte_eventdev.c b/lib/librte_eventdev/rte_eventdev.c index 7ca9fd1451..801810edd0 100644 --- a/lib/librte_eventdev/rte_eventdev.c +++ b/lib/librte_eventdev/rte_eventdev.c @@ -57,16 +57,21 @@ int rte_event_dev_get_dev_id(const char *name) { int i; + uint8_t cmp; if (!name) return -EINVAL; - for (i = 0; i < rte_eventdev_globals->nb_devs; i++) - if ((strcmp(rte_event_devices[i].data->name, name) - == 0) && - (rte_event_devices[i].attached == - RTE_EVENTDEV_ATTACHED)) + for (i = 0; i < rte_eventdev_globals->nb_devs; i++) { + cmp = (strncmp(rte_event_devices[i].data->name, name, + RTE_EVENTDEV_NAME_MAX_LEN) == 0) || + (rte_event_devices[i].dev ? (strncmp( + rte_event_devices[i].dev->driver->name, name, + RTE_EVENTDEV_NAME_MAX_LEN) == 0) : 0); + if (cmp && (rte_event_devices[i].attached == + RTE_EVENTDEV_ATTACHED)) return i; + } return -ENODEV; } -- 2.20.1