Initialize the "dev" pointer in the eventdev structure so it can be
returned in calls to "rte_event_dev_info_get()" and avoid potential
crashes due to a NULL value being passed to "rte_dev_name()"

Fixes: bbbb929da5e6 ("event/skeleton: add skeleton eventdev driver")
Cc: sta...@dpdk.org

Signed-off-by: Bruce Richardson <bruce.richard...@intel.com>
---
 drivers/event/skeleton/skeleton_eventdev.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/event/skeleton/skeleton_eventdev.c 
b/drivers/event/skeleton/skeleton_eventdev.c
index dc9b131641..3aa6657f39 100644
--- a/drivers/event/skeleton/skeleton_eventdev.c
+++ b/drivers/event/skeleton/skeleton_eventdev.c
@@ -428,7 +428,7 @@ RTE_PMD_REGISTER_PCI_TABLE(event_skeleton_pci, 
pci_id_skeleton_map);
 /* VDEV based event device */
 
 static int
-skeleton_eventdev_create(const char *name, int socket_id)
+skeleton_eventdev_create(const char *name, int socket_id, struct 
rte_vdev_device *vdev)
 {
        struct rte_eventdev *eventdev;
 
@@ -440,6 +440,7 @@ skeleton_eventdev_create(const char *name, int socket_id)
        }
 
        eventdev->dev_ops       = &skeleton_eventdev_ops;
+       eventdev->dev           = &vdev->device;
        eventdev->enqueue       = skeleton_eventdev_enqueue;
        eventdev->enqueue_burst = skeleton_eventdev_enqueue_burst;
        eventdev->dequeue       = skeleton_eventdev_dequeue;
@@ -459,7 +460,7 @@ skeleton_eventdev_probe(struct rte_vdev_device *vdev)
        name = rte_vdev_device_name(vdev);
        RTE_LOG(INFO, PMD, "Initializing %s on NUMA node %d\n", name,
                        rte_socket_id());
-       return skeleton_eventdev_create(name, rte_socket_id());
+       return skeleton_eventdev_create(name, rte_socket_id(), vdev);
 }
 
 static int
-- 
2.39.2

Reply via email to