X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fraw%2Fskeleton%2Fskeleton_rawdev.c;h=16ecae3d9250599e662d505f6b96d32dee7142ad;hb=f0243339496d48e6f5d76e6ef6741d6986b965d0;hp=dc05f3ecf851f015ce71ba824c202a4d2df48a5b;hpb=10b71caecbe1cddcbb65c050ca775fba575e88db;p=dpdk.git diff --git a/drivers/raw/skeleton/skeleton_rawdev.c b/drivers/raw/skeleton/skeleton_rawdev.c index dc05f3ecf8..16ecae3d92 100644 --- a/drivers/raw/skeleton/skeleton_rawdev.c +++ b/drivers/raw/skeleton/skeleton_rawdev.c @@ -41,7 +41,7 @@ struct queue_buffers { static struct queue_buffers queue_buf[SKELETON_MAX_QUEUES] = {}; static void clear_queue_bufs(int queue_id); -static void skeleton_rawdev_info_get(struct rte_rawdev *dev, +static int skeleton_rawdev_info_get(struct rte_rawdev *dev, rte_rawdev_obj_t dev_info, size_t dev_info_size) { @@ -52,7 +52,7 @@ static void skeleton_rawdev_info_get(struct rte_rawdev *dev, if (!dev_info || dev_info_size != sizeof(*skeldev_conf)) { SKELETON_PMD_ERR("Invalid request"); - return; + return -EINVAL; } skeldev = skeleton_rawdev_get_priv(dev); @@ -63,10 +63,13 @@ static void skeleton_rawdev_info_get(struct rte_rawdev *dev, skeldev_conf->capabilities = skeldev->capabilities; skeldev_conf->device_state = skeldev->device_state; skeldev_conf->firmware_state = skeldev->fw.firmware_state; + + return 0; } 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; @@ -75,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; } @@ -187,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; } @@ -217,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]; @@ -235,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 @@ -249,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; @@ -257,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); @@ -757,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);