cryptodev: fix session init return value
[dpdk.git] / drivers / crypto / aesni_gcm / aesni_gcm_pmd_ops.c
index 21052cd..48400ac 100644 (file)
@@ -56,7 +56,6 @@ static const struct rte_cryptodev_capabilities aesni_gcm_pmd_capabilities[] = {
                                        .max = 16,
                                        .increment = 4
                                },
-                               .aad_size = { 0 },
                                .iv_size = {
                                        .min = 12,
                                        .max = 12,
@@ -230,7 +229,7 @@ aesni_gcm_pmd_qp_create_processed_pkts_ring(struct aesni_gcm_qp *qp,
 static int
 aesni_gcm_pmd_qp_setup(struct rte_cryptodev *dev, uint16_t qp_id,
                const struct rte_cryptodev_qp_conf *qp_conf,
-                int socket_id)
+               int socket_id, struct rte_mempool *session_pool)
 {
        struct aesni_gcm_qp *qp = NULL;
        struct aesni_gcm_private *internals = dev->data->dev_private;
@@ -258,7 +257,7 @@ aesni_gcm_pmd_qp_setup(struct rte_cryptodev *dev, uint16_t qp_id,
        if (qp->processed_pkts == NULL)
                goto qp_setup_cleanup;
 
-       qp->sess_mp = dev->data->session_pool;
+       qp->sess_mp = session_pool;
 
        memset(&qp->qp_stats, 0, sizeof(qp->qp_stats));
 
@@ -309,25 +308,27 @@ aesni_gcm_pmd_session_configure(struct rte_cryptodev *dev __rte_unused,
                struct rte_mempool *mempool)
 {
        void *sess_private_data;
+       int ret;
        struct aesni_gcm_private *internals = dev->data->dev_private;
 
        if (unlikely(sess == NULL)) {
                GCM_LOG_ERR("invalid session struct");
-               return -1;
+               return -EINVAL;
        }
 
        if (rte_mempool_get(mempool, &sess_private_data)) {
                CDEV_LOG_ERR(
                        "Couldn't get object from session mempool");
-               return -1;
+               return -ENOMEM;
        }
-       if (aesni_gcm_set_session_parameters(gcm_ops[internals->vector_mode],
-                               sess_private_data, xform) != 0) {
+       ret = aesni_gcm_set_session_parameters(gcm_ops[internals->vector_mode],
+                               sess_private_data, xform);
+       if (ret != 0) {
                GCM_LOG_ERR("failed configure session parameters");
 
                /* Return session to mempool */
                rte_mempool_put(mempool, sess_private_data);
-               return -1;
+               return ret;
        }
 
        set_session_private_data(sess, dev->driver_id,