[dpdk-dev,v2] crypto/scheduler: fix session free

Message ID 1491237449-113572-1-git-send-email-roy.fan.zhang@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Pablo de Lara Guarch
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation fail Compilation issues

Commit Message

Fan Zhang April 3, 2017, 4:37 p.m. UTC
  This patch fixes the incorrection slave session free operation.

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

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

v2:
- Remove unnecessary session set line.

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

Patch

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;
-			}
 		}
 	}