segmentation fault ocured as vdev->device.driver->name did not return correct value. Test2 failed as dummy_value was freed before it was used.
Signed-off-by: Kallio Marko <marko.kal...@cavium.comm> Signed-off-by: Harman Kalra <hka...@marvell.com> --- drivers/raw/skeleton_rawdev/skeleton_rawdev.c | 3 ++- drivers/raw/skeleton_rawdev/skeleton_rawdev_test.c | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/raw/skeleton_rawdev/skeleton_rawdev.c b/drivers/raw/skeleton_rawdev/skeleton_rawdev.c index d7630fc69..c957ced11 100644 --- a/drivers/raw/skeleton_rawdev/skeleton_rawdev.c +++ b/drivers/raw/skeleton_rawdev/skeleton_rawdev.c @@ -585,7 +585,8 @@ skeleton_rawdev_create(const char *name, rawdev->dev_ops = &skeleton_rawdev_ops; rawdev->device = &vdev->device; - rawdev->driver_name = vdev->device.driver->name; + + rawdev->driver_name = rawdev->name; skeldev = skeleton_rawdev_get_priv(rawdev); diff --git a/drivers/raw/skeleton_rawdev/skeleton_rawdev_test.c b/drivers/raw/skeleton_rawdev/skeleton_rawdev_test.c index 359c9e296..788c3f1b9 100644 --- a/drivers/raw/skeleton_rawdev/skeleton_rawdev_test.c +++ b/drivers/raw/skeleton_rawdev/skeleton_rawdev_test.c @@ -294,14 +294,14 @@ test_rawdev_attr_set_get(void) "Attribute (Test1) not set correctly (%" PRIu64 ")", ret_value); - free(dummy_value); - ret_value = 0; ret = rte_rawdev_get_attr(TEST_DEV_ID, "Test2", &ret_value); RTE_TEST_ASSERT_EQUAL(*((int *)(uintptr_t)ret_value), 200, "Attribute (Test2) not set correctly (%" PRIu64 ")", ret_value); + free(dummy_value); + return TEST_SUCCESS; } -- 2.18.0