| 679 | } |
| 680 | |
| 681 | static int |
| 682 | nitrox_deq_single_op(struct nitrox_qp *qp, struct rte_crypto_op **op_ptr) |
| 683 | { |
| 684 | struct nitrox_softreq *sr; |
| 685 | int ret; |
| 686 | struct rte_crypto_op *op; |
| 687 | |
| 688 | sr = nitrox_qp_get_softreq(qp); |
| 689 | ret = nitrox_check_se_req(sr, op_ptr); |
| 690 | if (ret < 0) |
| 691 | return -EAGAIN; |
| 692 | |
| 693 | op = *op_ptr; |
| 694 | nitrox_qp_dequeue(qp); |
| 695 | rte_mempool_put(qp->sr_mp, sr); |
| 696 | if (!ret) { |
| 697 | op->status = RTE_CRYPTO_OP_STATUS_SUCCESS; |
| 698 | qp->stats.dequeued_count++; |
| 699 | |
| 700 | return 0; |
| 701 | } |
| 702 | |
| 703 | if (ret == MC_MAC_MISMATCH_ERR_CODE) |
| 704 | op->status = RTE_CRYPTO_OP_STATUS_AUTH_FAILED; |
| 705 | else |
| 706 | op->status = RTE_CRYPTO_OP_STATUS_ERROR; |
| 707 | |
| 708 | qp->stats.dequeue_err_count++; |
| 709 | return 0; |
| 710 | } |
| 711 | |
| 712 | static uint16_t |
| 713 | nitrox_sym_dev_deq_burst(void *queue_pair, struct rte_crypto_op **ops, |
no test coverage detected