This patch fixes the queue pair free for AESNI-MB PMD. Originally
the queue pair ring name are different than the object name,
caused the aesni_mb_pmd_qp_release() cannot find the ring to
release. This patch uses the same name between queue pair object
name and ring name.

Fixes: a831c318c54d ("crypto/aesni_mb: free ring memory on queue release")
Cc: sta...@dpdk.org

Signed-off-by: Fan Zhang <roy.fan.zh...@intel.com>
---
 drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c 
b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c
index 43f6c26ed..f3eff2685 100644
--- a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c
+++ b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c
@@ -535,14 +535,12 @@ aesni_mb_pmd_qp_set_unique_name(struct rte_cryptodev *dev,
 /** Create a ring to place processed operations on */
 static struct rte_ring *
 aesni_mb_pmd_qp_create_processed_ops_ring(struct aesni_mb_qp *qp,
-               const char *str, unsigned int ring_size, int socket_id)
+               unsigned int ring_size, int socket_id)
 {
        struct rte_ring *r;
        char ring_name[RTE_CRYPTODEV_NAME_MAX_LEN];
 
-       unsigned int n = snprintf(ring_name, sizeof(ring_name),
-                               "%s_%s",
-                               qp->name, str);
+       unsigned int n = snprintf(ring_name, sizeof(ring_name), "%s", qp->name);
 
        if (n >= sizeof(ring_name))
                return NULL;
@@ -600,7 +598,7 @@ aesni_mb_pmd_qp_setup(struct rte_cryptodev *dev, uint16_t 
qp_id,
        qp->op_fns = &job_ops[internals->vector_mode];
 
        qp->ingress_queue = aesni_mb_pmd_qp_create_processed_ops_ring(qp,
-                       "ingress", qp_conf->nb_descriptors, socket_id);
+                       qp_conf->nb_descriptors, socket_id);
        if (qp->ingress_queue == NULL) {
                ret = -1;
                goto qp_setup_cleanup;
-- 
2.13.6

Reply via email to