common/dpaax: fix 12-bit null auth case
authorAkhil Goyal <akhil.goyal@nxp.com>
Wed, 8 Jan 2020 12:52:31 +0000 (18:22 +0530)
committerThomas Monjalon <thomas@monjalon.net>
Wed, 8 Jul 2020 16:16:17 +0000 (18:16 +0200)
In cases of NULL auth in PDCP, the descriptors
should be based on ALGORITHM command instead of
PROTOCOL command.
It was done in case of encap, but was missing in
decap.

Fixes: 526cdf60f1e5 ("crypto/dpaa2_sec: update desc for PDCP 18-bit enc-auth")
Cc: stable@dpdk.org
Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
drivers/common/dpaax/caamflib/desc/pdcp.h

index 99eb0f7..4761153 100644 (file)
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: BSD-3-Clause or GPL-2.0+
  * Copyright 2008-2013 Freescale Semiconductor, Inc.
- * Copyright 2019 NXP
+ * Copyright 2019-2020 NXP
  */
 
 #ifndef __DESC_PDCP_H__
@@ -3528,6 +3528,15 @@ cnstr_shdsc_pdcp_u_plane_decap(uint32_t *descbuf,
                                KEY(p, KEY2, authdata->key_enc_flags,
                                    (uint64_t)authdata->key, authdata->keylen,
                                    INLINE_KEY(authdata));
+                       else if (authdata && authdata->algtype == 0) {
+                               err = pdcp_insert_uplane_with_int_op(p, swap,
+                                               cipherdata, authdata,
+                                               sn_size, era_2_sw_hfn_ovrd,
+                                               OP_TYPE_DECAP_PROTOCOL);
+                               if (err)
+                                       return err;
+                               break;
+                       }
 
                        /* Insert Cipher Key */
                        KEY(p, KEY1, cipherdata->key_enc_flags,