Signed-off-by: Taras Kondratiuk <[email protected]>
---
 platform/linux-generic/include/odp_crypto_internal.h |  1 +
 platform/linux-generic/odp_crypto.c                  | 11 ++++++++---
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/platform/linux-generic/include/odp_crypto_internal.h 
b/platform/linux-generic/include/odp_crypto_internal.h
index 7ea1f5c..2e5a71c 100644
--- a/platform/linux-generic/include/odp_crypto_internal.h
+++ b/platform/linux-generic/include/odp_crypto_internal.h
@@ -70,6 +70,7 @@ typedef struct odp_crypto_generic_op_result {
        odp_crypto_compl_status_t cipher;
        odp_crypto_compl_status_t auth;
        void *op_context;
+       odp_packet_t out_pkt;
 } odp_crypto_generic_op_result_t;
 
 /**
diff --git a/platform/linux-generic/odp_crypto.c 
b/platform/linux-generic/odp_crypto.c
index 8bbca94..5493eff 100644
--- a/platform/linux-generic/odp_crypto.c
+++ b/platform/linux-generic/odp_crypto.c
@@ -386,6 +386,7 @@ odp_crypto_operation(odp_crypto_op_params_t *params,
        result->cipher.hw_err = ODP_CRYPTO_HW_ERR_NONE;
        result->auth.alg_err = rc_auth;
        result->auth.hw_err = ODP_CRYPTO_HW_ERR_NONE;
+       result->out_pkt = params->out_pkt;
 
        /* If specified during creation post event to completion queue */
        if (ODP_QUEUE_INVALID != session->compl_queue) {
@@ -472,8 +473,12 @@ void
 }
 
 odp_packet_t
-odp_crypto_get_operation_compl_packet(odp_buffer_t completion_event ODP_UNUSED)
+odp_crypto_get_operation_compl_packet(odp_buffer_t completion_event)
 {
-       ODP_UNIMPLEMENTED();
-       return ODP_PACKET_INVALID;
+       odp_crypto_generic_op_result_t *result;
+
+       result = get_op_result_from_buffer(completion_event);
+       ODP_ASSERT(OP_RESULT_MAGIC == result->magic, "Bad completion magic");
+
+       return result->out_pkt;
 }
-- 
1.9.1


_______________________________________________
lng-odp mailing list
[email protected]
http://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to