In the function _iavf_rx_queue_release_mbufs_vec to release rx mbufs, rxq->rxrearm_nb is given the value of rx descriptor number at last. However, since the process to release and allocate mbufs lacks the initialization of rxrearm_nb, if we try to release mbufs next time, it will return without releasing directly. In this patch, rxrearm_nb is initialized to be zero in rx queue reset.
Fixes: 319c421f3890 ("net/avf: enable SSE Rx Tx") Cc: sta...@dpdk.org Signed-off-by: Ting Xu <ting...@intel.com> --- drivers/net/iavf/iavf_rxtx.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/iavf/iavf_rxtx.c b/drivers/net/iavf/iavf_rxtx.c index baac5d65c8..8f43208c80 100644 --- a/drivers/net/iavf/iavf_rxtx.c +++ b/drivers/net/iavf/iavf_rxtx.c @@ -194,6 +194,7 @@ reset_rx_queue(struct iavf_rx_queue *rxq) rxq->nb_rx_hold = 0; rxq->pkt_first_seg = NULL; rxq->pkt_last_seg = NULL; + rxq->rxrearm_nb = 0; } static inline void -- 2.17.1