[dpdk-dev] qat: Fix for crash when nb_ops=0 on enqueue_burst

Message ID 1459271420-10830-1-git-send-email-fiona.trahe@intel.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

Fiona Trahe March 29, 2016, 5:10 p.m. UTC
  Crash seen in qat pmd when nb_ops=0 on rte_cryptodev_enqueue_burst() API

Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
---
 drivers/crypto/qat/qat_crypto.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
  

Comments

Thomas Monjalon March 31, 2016, 7:47 p.m. UTC | #1
2016-03-29 18:10, Fiona Trahe:
> Crash seen in qat pmd when nb_ops=0 on rte_cryptodev_enqueue_burst() API
> 
> Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>

Applied, thanks
  

Patch

diff --git a/drivers/crypto/qat/qat_crypto.c b/drivers/crypto/qat/qat_crypto.c
index 5c41a89..90b5e6c 100644
--- a/drivers/crypto/qat/qat_crypto.c
+++ b/drivers/crypto/qat/qat_crypto.c
@@ -570,6 +570,9 @@  qat_pmd_enqueue_op_burst(void *qp, struct rte_crypto_op **ops,
 	register uint32_t tail;
 	int overflow;
 
+	if (unlikely(nb_ops == 0))
+		return 0;
+
 	/* read params used a lot in main loop into registers */
 	queue = &(tmp_qp->tx_q);
 	base_addr = (uint8_t *)queue->base_addr;