From: Pavan Nikhilesh <pbhagavat...@marvell.com> Fix incorrect mbuf offset calculation when HEADROOM exceeds 128B while processing event vectors.
Fixes: 7fbbc981d54f("event/cnxk: support vectorized Rx event fast path") Signed-off-by: Pavan Nikhilesh <pbhagavat...@marvell.com> Change-Id: I1c33c8a5cce29c3ea7eb0411f4e1bedf42053167 --- drivers/net/cnxk/cn10k_rx.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/net/cnxk/cn10k_rx.h b/drivers/net/cnxk/cn10k_rx.h index 4e22ceda02..721127dddd 100644 --- a/drivers/net/cnxk/cn10k_rx.h +++ b/drivers/net/cnxk/cn10k_rx.h @@ -1203,9 +1203,11 @@ cn10k_nix_recv_pkts_vector(void *args, struct rte_mbuf **mbufs, uint16_t pkts, mbuf23 = vqsubq_u64(mbuf23, data_off); } else { mbuf01 = - vsubq_u64(vld1q_u64((uint64_t *)cq0), data_off); - mbuf23 = vsubq_u64(vld1q_u64((uint64_t *)(cq0 + 16)), - data_off); + vsubq_u64(vld1q_u64((uint64_t *)cq0), + vdupq_n_u64(sizeof(struct rte_mbuf))); + mbuf23 = + vsubq_u64(vld1q_u64((uint64_t *)(cq0 + 16)), + vdupq_n_u64(sizeof(struct rte_mbuf))); } /* Move mbufs to scalar registers for future use */ -- 2.38.0