On Tue, Nov 16, 2021 at 7:18 PM Somnath Kotur <somnath.ko...@broadcom.com> wrote: > > The driver internal variable to track the next consumer index on > the Rx ring was not being set if there was an mbuf allocation > failure. In that scenario, eventually it would fall out of sync > with the actual consumer index and raise a false alarm on Thor > needlessly causing a segmentation fault with testpmd > > Fixes: 03c8f2fe111c ("net/bnxt: detect bad opaque in Rx completion") > Cc: sta...@dpdk.org > > Signed-off-by: Somnath Kotur <somnath.ko...@broadcom.com> > Signed-off-by: Ajit Khaparde <ajit.khapa...@broadcom.com> > Reviewed-by: Ajit Khaparde <ajit.khapa...@broadcom.com> > Reviewed-by: Kalesh Anakkur Purayil <kalesh-anakkur.pura...@broadcom.com>
Patch applied to dpdk-next-net-brcm. Thanks > --- > drivers/net/bnxt/bnxt_rxr.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/bnxt/bnxt_rxr.c b/drivers/net/bnxt/bnxt_rxr.c > index 8bc8ddc353..e461500ceb 100644 > --- a/drivers/net/bnxt/bnxt_rxr.c > +++ b/drivers/net/bnxt/bnxt_rxr.c > @@ -1008,6 +1008,7 @@ static int bnxt_rx_pkt(struct rte_mbuf **rx_pkt, > goto rx; > } > rxr->rx_raw_prod = raw_prod; > +rx: > rxr->rx_next_cons = RING_IDX(rxr->rx_ring_struct, RING_NEXT(cons)); > > if (BNXT_TRUFLOW_EN(bp) && (BNXT_VF_IS_TRUSTED(bp) || BNXT_PF(bp)) && > @@ -1026,7 +1027,6 @@ static int bnxt_rx_pkt(struct rte_mbuf **rx_pkt, > * All MBUFs are allocated with the same size under DPDK, > * no optimization for rx_copy_thresh > */ > -rx: > *rx_pkt = mbuf; > > next_rx: > -- > 2.28.0.497.g54e85e7 >