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

Reply via email to