From 4b57bfec46356f34d000f6d06ee1f3c24ee2e3fd Mon Sep 17 00:00:00 2001 From: Tomasz Jozwiak Date: Thu, 2 Aug 2018 17:09:25 +0200 Subject: [PATCH] compress/qat: fix buffer lengths in offset case Fixed lengths for src and dest buffers Fixes: 32842f2a6d7d ("compress/qat: create FW request and process response") Signed-off-by: Tomasz Jozwiak Acked-by: Fiona Trahe --- drivers/compress/qat/qat_comp.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/compress/qat/qat_comp.c b/drivers/compress/qat/qat_comp.c index cbf7614e9a..522edfc78c 100644 --- a/drivers/compress/qat/qat_comp.c +++ b/drivers/compress/qat/qat_comp.c @@ -44,7 +44,8 @@ qat_comp_build_request(void *in_op, uint8_t *out_msg, /* common for sgl and flat buffers */ comp_req->comp_pars.comp_len = op->src.length; - comp_req->comp_pars.out_buffer_sz = rte_pktmbuf_pkt_len(op->m_dst); + comp_req->comp_pars.out_buffer_sz = rte_pktmbuf_pkt_len(op->m_dst) - + op->dst.offset; if (op->m_src->next != NULL || op->m_dst->next != NULL) { /* sgl */ @@ -85,8 +86,9 @@ qat_comp_build_request(void *in_op, uint8_t *out_msg, /* flat aka linear buffer */ ICP_QAT_FW_COMN_PTR_TYPE_SET(comp_req->comn_hdr.comn_req_flags, QAT_COMN_PTR_TYPE_FLAT); - comp_req->comn_mid.src_length = rte_pktmbuf_data_len(op->m_src); - comp_req->comn_mid.dst_length = rte_pktmbuf_data_len(op->m_dst); + comp_req->comn_mid.src_length = op->src.length; + comp_req->comn_mid.dst_length = + comp_req->comp_pars.out_buffer_sz; comp_req->comn_mid.src_data_addr = rte_pktmbuf_mtophys_offset(op->m_src, op->src.offset); -- 2.20.1