[dpdk-dev] [PATCH] crypto/caam_jr: fix caam sec era invalid issue
Gagandeep Singh
g.singh at nxp.com
Mon Oct 19 11:48:01 CEST 2020
of_init() should be called before using any of_* APIs to retrieve
information from the device tree and if reading integer value
that must be converted to cpu endianness before using.
Fixes: 1d678de329ab ("crypto/caam_jr: add basic job ring routines")
Cc: stable at dpdk.org
Signed-off-by: Gagandeep Singh <g.singh at nxp.com>
---
drivers/crypto/caam_jr/caam_jr.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/drivers/crypto/caam_jr/caam_jr.c b/drivers/crypto/caam_jr/caam_jr.c
index c004ec4..3fb3fe0 100644
--- a/drivers/crypto/caam_jr/caam_jr.c
+++ b/drivers/crypto/caam_jr/caam_jr.c
@@ -2388,6 +2388,8 @@ caam_jr_dev_init(const char *name,
static int
cryptodev_caam_jr_probe(struct rte_vdev_device *vdev)
{
+ int ret;
+
struct rte_cryptodev_pmd_init_params init_params = {
"",
sizeof(struct sec_job_ring_t),
@@ -2404,6 +2406,12 @@ cryptodev_caam_jr_probe(struct rte_vdev_device *vdev)
input_args = rte_vdev_device_args(vdev);
rte_cryptodev_pmd_parse_input_args(&init_params, input_args);
+ ret = of_init();
+ if (ret) {
+ RTE_LOG(ERR, PMD,
+ "of_init failed\n");
+ return -EINVAL;
+ }
/* if sec device version is not configured */
if (!rta_get_sec_era()) {
const struct device_node *caam_node;
@@ -2414,7 +2422,7 @@ cryptodev_caam_jr_probe(struct rte_vdev_device *vdev)
NULL);
if (prop) {
rta_set_sec_era(
- INTL_SEC_ERA(cpu_to_caam32(*prop)));
+ INTL_SEC_ERA(rte_be_to_cpu_32(*prop)));
break;
}
}
--
2.7.4
More information about the dev
mailing list