Events enqueued to eventdev from the beginning of the circular buffer.
This leads to invalid or already freed events getting enqueued to eventdev
from the circular buffer.
Fixed by enqueuing the events to eventdev from the head pointer of
circular buffer.
Fixes: 7901eac3409a ("eventdev: add crypto adapter implementation")
Signed-off-by: Ganapati Kundapura <[email protected]>
---
v2:
* Updated subject line in commit message
diff --git a/lib/eventdev/rte_event_crypto_adapter.c
b/lib/eventdev/rte_event_crypto_adapter.c
index ef3dbe9..72deedd 100644
--- a/lib/eventdev/rte_event_crypto_adapter.c
+++ b/lib/eventdev/rte_event_crypto_adapter.c
@@ -669,7 +669,7 @@ eca_circular_buffer_flush_to_evdev(struct
event_crypto_adapter *adapter,
else
return 0; /* buffer empty */
- nb_ops_flushed = eca_ops_enqueue_burst(adapter, ops, n);
+ nb_ops_flushed = eca_ops_enqueue_burst(adapter, &ops[*headp], n);
bufp->count -= nb_ops_flushed;
if (!bufp->count) {
*headp = 0;
--
2.6.4