This patch fixes the incorrection slave session free operation.

Fixes: 57523e682bb7 ("crypto/scheduler: register operation functions")

Signed-off-by: Fan Zhang <roy.fan.zh...@intel.com>
---

v2:
- Remove unnecessary session set line.

 drivers/crypto/scheduler/scheduler_pmd_ops.c | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/drivers/crypto/scheduler/scheduler_pmd_ops.c 
b/drivers/crypto/scheduler/scheduler_pmd_ops.c
index f02506c..cd8c6a8 100644
--- a/drivers/crypto/scheduler/scheduler_pmd_ops.c
+++ b/drivers/crypto/scheduler/scheduler_pmd_ops.c
@@ -433,9 +433,10 @@ config_slave_sess(struct scheduler_ctx *sched_ctx,
                        if (create)
                                continue;
                        /* !create */
-                       (*dev->dev_ops->session_clear)(dev,
-                                       (void *)sess->sessions[i]);
-                       sess->sessions[i] = NULL;
+                       sess->sessions[i] = rte_cryptodev_sym_session_free(
+                                       slave->dev_id, sess->sessions[i]);
+                       if (!sess->sessions[i])
+                               return -1;
                } else {
                        if (!create)
                                continue;
@@ -443,10 +444,6 @@ config_slave_sess(struct scheduler_ctx *sched_ctx,
                        sess->sessions[i] =
                                        rte_cryptodev_sym_session_create(
                                                        slave->dev_id, xform);
-                       if (!sess->sessions[i]) {
-                               config_slave_sess(sched_ctx, NULL, sess, 0);
-                               return -1;
-                       }
                }
        }
 
-- 
2.7.4

Reply via email to