crypto/qat: fix raw data path dequeue
This patch fixes the raw data path dequeue burst fail problem.
Previously in case the queue is full and not all packets
asked to be dequeued are processed, the dequeue burst will
never happen.
Fixes: c21574edc5
("cryptodev: add dequeue count parameter in raw API")
Cc: stable@dpdk.org
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
This commit is contained in:
parent
675ba70691
commit
fe9e06ab08
@ -744,14 +744,6 @@ qat_sym_dp_dequeue_burst(void *qp_data, uint8_t *drv_ctx,
|
|||||||
n = get_dequeue_count(resp_opaque);
|
n = get_dequeue_count(resp_opaque);
|
||||||
if (unlikely(n == 0))
|
if (unlikely(n == 0))
|
||||||
return 0;
|
return 0;
|
||||||
else if (n > 1) {
|
|
||||||
head = (head + rx_queue->msg_size * (n - 1)) &
|
|
||||||
rx_queue->modulo_mask;
|
|
||||||
resp = (struct icp_qat_fw_comn_resp *)(
|
|
||||||
(uint8_t *)rx_queue->base_addr + head);
|
|
||||||
if (*(uint32_t *)resp == ADF_RING_EMPTY_SIG)
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
if (unlikely(max_nb_to_dequeue == 0))
|
if (unlikely(max_nb_to_dequeue == 0))
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user