On Tue, Oct 17, 2023 at 9:45 PM Bruce Richardson <bruce.richard...@intel.com> wrote: > > On Tue, Oct 17, 2023 at 09:34:04PM +0530, Jerin Jacob wrote: > > On Tue, Oct 17, 2023 at 9:32 PM Bruce Richardson > > <bruce.richard...@intel.com> wrote: > > > > > > After calling rte_event_dev_info_get() the ".dev" field of the info > > > structure should have a pointer to the underlying device, allowing the > > > user to e.g. get the device name using using rte_dev_name(info.dev). > > > > > > The distributed software eventdev info structure did not return a > > > correct device pointer, though, instead returning NULL, which caused > > > crashes getting "rte_dev_name". Initializing the dev pointer inside the > > > "eventdev" struct in the device probe function fixes this by ensuring we > > > have a valid pointer to return in info_get calls. > > > > > > Fixes: 46a186b1f0c5 ("event/dsw: add device registration and build > > > system") > > > Cc: mattias.ronnb...@ericsson.com > > > > > > Signed-off-by: Bruce Richardson <bruce.richard...@intel.com> > > > > Is this issue for all "vdev" devices? if so, Please check for > > drivers/event/skeleton too. > > > Yes, good point, looks like event/skeleton also returns NULL for the device > pointer. > > I'll do up a v3 with the extra patch in it.
Looks there are more vdev devuces. Can we have common PMD function or extend rte_event_pmd_vdev_init or so. [main]dell[dpdk.org] $ git grep rte_event_pmd_vdev_init drivers/event/dpaa/dpaa_eventdev.c: eventdev = rte_event_pmd_vdev_init(name, drivers/event/dpaa2/dpaa2_eventdev.c: eventdev = rte_event_pmd_vdev_init(name, drivers/event/dsw/dsw_evdev.c: dev = rte_event_pmd_vdev_init(name, sizeof(struct dsw_evdev), drivers/event/octeontx/ssovf_evdev.c: eventdev = rte_event_pmd_vdev_init(name, sizeof(struct ssovf_evdev), drivers/event/opdl/opdl_evdev.c: dev = rte_event_pmd_vdev_init(name, drivers/event/skeleton/skeleton_eventdev.c: eventdev = rte_event_pmd_vdev_init(name, drivers/event/sw/sw_evdev.c: dev = rte_event_pmd_vdev_init(name, lib/eventdev/eventdev_pmd_vdev.h:rte_event_pmd_vdev_init(const char *name, size_t dev_private_size, lib/eventdev/version.map: rte_event_pmd_vdev_init; > /Bruce