From beb4c305b3793fc80d9a1880eb352ade39c2a4b9 Mon Sep 17 00:00:00 2001 From: Akhil Goyal Date: Wed, 20 Oct 2021 16:57:50 +0530 Subject: [PATCH] crypto/scheduler: use proper API for device start/stop The worker PMDs were using direct device start/stop functions rather than rte_cryptodev_start(), so rte_crypto_fp_ops never get set. This patch calls the rte_cryptodev_start and stop APIs which start and stop devices properly and fp_ops get set. Reported-by: Ciara Power Signed-off-by: Akhil Goyal Acked-by: Fan Zhang Acked-by: Konstantin Ananyev --- drivers/crypto/scheduler/scheduler_pmd_ops.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/drivers/crypto/scheduler/scheduler_pmd_ops.c b/drivers/crypto/scheduler/scheduler_pmd_ops.c index 465b88ade8..f61640c9d6 100644 --- a/drivers/crypto/scheduler/scheduler_pmd_ops.c +++ b/drivers/crypto/scheduler/scheduler_pmd_ops.c @@ -181,10 +181,7 @@ scheduler_pmd_start(struct rte_cryptodev *dev) /* start all workers */ for (i = 0; i < sched_ctx->nb_workers; i++) { uint8_t worker_dev_id = sched_ctx->workers[i].dev_id; - struct rte_cryptodev *worker_dev = - rte_cryptodev_pmd_get_dev(worker_dev_id); - - ret = (*worker_dev->dev_ops->dev_start)(worker_dev); + ret = rte_cryptodev_start(worker_dev_id); if (ret < 0) { CR_SCHED_LOG(ERR, "Failed to start worker dev %u", worker_dev_id); @@ -208,10 +205,8 @@ scheduler_pmd_stop(struct rte_cryptodev *dev) /* stop all workers first */ for (i = 0; i < sched_ctx->nb_workers; i++) { uint8_t worker_dev_id = sched_ctx->workers[i].dev_id; - struct rte_cryptodev *worker_dev = - rte_cryptodev_pmd_get_dev(worker_dev_id); - (*worker_dev->dev_ops->dev_stop)(worker_dev); + rte_cryptodev_stop(worker_dev_id); } if (*sched_ctx->ops.scheduler_stop) -- 2.20.1