event/cnxk: fix base pointer for SSO head wait
[dpdk.git] / drivers / crypto / armv8 / rte_armv8_pmd.c
index 72d29ae..32127a8 100644 (file)
@@ -7,7 +7,7 @@
 #include <rte_common.h>
 #include <rte_hexdump.h>
 #include <rte_cryptodev.h>
-#include <rte_cryptodev_pmd.h>
+#include <cryptodev_pmd.h>
 #include <rte_bus_vdev.h>
 #include <rte_malloc.h>
 #include <rte_cpuflags.h>
@@ -143,7 +143,8 @@ crypto_chain_order[] = {
        crypto_func_tbl_t *func_tbl =                                   \
                                (crypto_chain_order[(order)])[(cop)];   \
                                                                        \
-       ((*func_tbl)[(calg)][(aalg)][KEYL(keyl)]);              \
+       ((calg >= CRYPTO_CIPHER_MAX) || (aalg >= CRYPTO_AUTH_MAX)) ?    \
+               NULL : ((*func_tbl)[(calg)][(aalg)][KEYL(keyl)]);       \
 })
 
 /*----------------------------------------------------------------------------*/
@@ -188,7 +189,8 @@ crypto_key_sched_dir[] = {
 ({                                                                     \
        crypto_key_sched_tbl_t *ks_tbl = crypto_key_sched_dir[(cop)];   \
                                                                        \
-       ((*ks_tbl)[(calg)][KEYL(keyl)]);                                \
+       (calg >= CRYPTO_CIPHER_MAX) ?                                   \
+               NULL : ((*ks_tbl)[(calg)][KEYL(keyl)]);                 \
 })
 
 /*----------------------------------------------------------------------------*/
@@ -436,7 +438,8 @@ armv8_crypto_set_session_chained_parameters(struct armv8_crypto_session *sess,
                return -ENOTSUP;
        }
 
-       if (unlikely(sess->crypto_func == NULL)) {
+       if (unlikely(sess->crypto_func == NULL ||
+               sess->cipher.key_sched == NULL)) {
                /*
                 * If we got here that means that there must be a bug
                 * in the algorithms selection above. Nevertheless keep
@@ -799,6 +802,8 @@ cryptodev_armv8_crypto_create(const char *name,
 
        internals->max_nb_qpairs = init_params->max_nb_queue_pairs;
 
+       rte_cryptodev_pmd_probing_finish(dev);
+
        return 0;
 
 init_error:
@@ -861,7 +866,7 @@ static struct rte_vdev_driver armv8_crypto_pmd_drv = {
 
 static struct cryptodev_driver armv8_crypto_drv;
 
-RTE_LOG_REGISTER(crypto_armv8_log_type, pmd.crypto.armv8, ERR);
+RTE_LOG_REGISTER_DEFAULT(crypto_armv8_log_type, ERR);
 
 RTE_PMD_REGISTER_VDEV(CRYPTODEV_NAME_ARMV8_PMD, armv8_crypto_pmd_drv);
 RTE_PMD_REGISTER_ALIAS(CRYPTODEV_NAME_ARMV8_PMD, cryptodev_armv8_pmd);