Authentication length and offset need to be set like for any other
authentication algorithms as it no longer uses aad pointer

Fixes: b79e4c00af0e ("cryptodev: use AES-GCM/CCM as AEAD algorithms")

Signed-off-by: Arek Kusztal <arkadiuszx.kusz...@intel.com>
---
 drivers/crypto/qat/qat_crypto.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/crypto/qat/qat_crypto.c b/drivers/crypto/qat/qat_crypto.c
index 7e04f21..274315c 100644
--- a/drivers/crypto/qat/qat_crypto.c
+++ b/drivers/crypto/qat/qat_crypto.c
@@ -1218,6 +1218,8 @@ qat_write_hw_desc_entry(struct rte_crypto_op *op, uint8_t 
*out_msg,
                        set_cipher_iv(ctx->auth_iv.length,
                                ctx->auth_iv.offset,
                                cipher_param, op, qat_req);
+                       auth_ofs = op->sym->auth.data.offset;
+                       auth_len = op->sym->auth.data.length;
                } else {
                        auth_ofs = op->sym->auth.data.offset;
                        auth_len = op->sym->auth.data.length;
@@ -1361,12 +1363,7 @@ qat_write_hw_desc_entry(struct rte_crypto_op *op, 
uint8_t *out_msg,
                }
                /* GMAC */
                if (!do_aead) {
-                       qat_req->comn_mid.dst_length =
-                               qat_req->comn_mid.src_length =
-                                       rte_pktmbuf_data_len(op->sym->m_src);
                        auth_param->u1.aad_adr = 0;
-                       auth_param->auth_len = op->sym->auth.data.length;
-                       auth_param->auth_off = op->sym->auth.data.offset;
                        auth_param->u2.aad_sz = 0;
                }
        }
-- 
2.1.0

Reply via email to