X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fraw%2Fskeleton%2Fskeleton_rawdev.c;h=16ecae3d9250599e662d505f6b96d32dee7142ad;hb=f0243339496d48e6f5d76e6ef6741d6986b965d0;hp=dce300c3587b4878d91c5753543d8be39046ef27;hpb=f150dd8839dd6c7a386cc98a5b0025684a31bdc1;p=dpdk.git diff --git a/drivers/raw/skeleton/skeleton_rawdev.c b/drivers/raw/skeleton/skeleton_rawdev.c index dce300c358..16ecae3d92 100644 --- a/drivers/raw/skeleton/skeleton_rawdev.c +++ b/drivers/raw/skeleton/skeleton_rawdev.c @@ -68,7 +68,8 @@ static int skeleton_rawdev_info_get(struct rte_rawdev *dev, } static int skeleton_rawdev_configure(const struct rte_rawdev *dev, - rte_rawdev_obj_t config) + rte_rawdev_obj_t config, + size_t config_size) { struct skeleton_rawdev *skeldev; struct skeleton_rawdev_conf *skeldev_conf; @@ -77,7 +78,7 @@ static int skeleton_rawdev_configure(const struct rte_rawdev *dev, RTE_FUNC_PTR_OR_ERR_RET(dev, -EINVAL); - if (!config) { + if (config == NULL || config_size != sizeof(*skeldev_conf)) { SKELETON_PMD_ERR("Invalid configuration"); return -EINVAL; } @@ -189,9 +190,11 @@ static int skeleton_rawdev_close(struct rte_rawdev *dev) } break; case SKELETON_FW_READY: + SKELETON_PMD_DEBUG("Device already in stopped state"); + break; case SKELETON_FW_ERROR: default: - SKELETON_PMD_DEBUG("Device already in stopped state"); + SKELETON_PMD_DEBUG("Device in impossible state"); ret = -EINVAL; break; } @@ -219,17 +222,19 @@ static int skeleton_rawdev_reset(struct rte_rawdev *dev) return 0; } -static void skeleton_rawdev_queue_def_conf(struct rte_rawdev *dev, - uint16_t queue_id, - rte_rawdev_obj_t queue_conf) +static int skeleton_rawdev_queue_def_conf(struct rte_rawdev *dev, + uint16_t queue_id, + rte_rawdev_obj_t queue_conf, + size_t conf_size) { struct skeleton_rawdev *skeldev; struct skeleton_rawdev_queue *skelq; SKELETON_PMD_FUNC_TRACE(); - if (!dev || !queue_conf) - return; + if (!dev || !queue_conf || + conf_size != sizeof(struct skeleton_rawdev_queue)) + return -EINVAL; skeldev = skeleton_rawdev_get_priv(dev); skelq = &skeldev->queues[queue_id]; @@ -237,6 +242,8 @@ static void skeleton_rawdev_queue_def_conf(struct rte_rawdev *dev, if (queue_id < SKELETON_MAX_QUEUES) rte_memcpy(queue_conf, skelq, sizeof(struct skeleton_rawdev_queue)); + + return 0; } static void @@ -251,7 +258,8 @@ clear_queue_bufs(int queue_id) static int skeleton_rawdev_queue_setup(struct rte_rawdev *dev, uint16_t queue_id, - rte_rawdev_obj_t queue_conf) + rte_rawdev_obj_t queue_conf, + size_t conf_size) { int ret = 0; struct skeleton_rawdev *skeldev; @@ -259,7 +267,8 @@ static int skeleton_rawdev_queue_setup(struct rte_rawdev *dev, SKELETON_PMD_FUNC_TRACE(); - if (!dev || !queue_conf) + if (!dev || !queue_conf || + conf_size != sizeof(struct skeleton_rawdev_queue)) return -EINVAL; skeldev = skeleton_rawdev_get_priv(dev); @@ -759,4 +768,4 @@ static struct rte_vdev_driver skeleton_pmd_drv = { }; RTE_PMD_REGISTER_VDEV(SKELETON_PMD_RAWDEV_NAME, skeleton_pmd_drv); -RTE_LOG_REGISTER(skeleton_pmd_logtype, rawdev.skeleton, INFO); +RTE_LOG_REGISTER_DEFAULT(skeleton_pmd_logtype, INFO);