[PATCH] net/mana: fix wrong indexing on CQE error when coalescing is used
longli at linuxonhyperv.com
longli at linuxonhyperv.com
Fri Jul 7 02:17:57 CEST 2023
From: Long Li <longli at microsoft.com>
On a fatal CQE error when coalescing is used, update the correct index
and allow proceeding to the next CQE.
Fixes: 3409e0f172f6 ("net/mana: implement Rx CQE coalescing")
Signed-off-by: Long Li <longli at microsoft.com>
---
drivers/net/mana/rx.c | 18 ++++++++----------
1 file changed, 8 insertions(+), 10 deletions(-)
diff --git a/drivers/net/mana/rx.c b/drivers/net/mana/rx.c
index cacfd9ae1b..220b372b15 100644
--- a/drivers/net/mana/rx.c
+++ b/drivers/net/mana/rx.c
@@ -416,23 +416,21 @@ mana_rx_burst(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n)
switch (oob->cqe_hdr.cqe_type) {
case CQE_RX_OKAY:
+ case CQE_RX_COALESCED_4:
/* Proceed to process mbuf */
break;
case CQE_RX_TRUNCATED:
- DP_LOG(DEBUG, "Drop a truncated packet");
+ default:
+ DP_LOG(ERR, "RX CQE type %d client %d vendor %d",
+ oob->cqe_hdr.cqe_type, oob->cqe_hdr.client_type,
+ oob->cqe_hdr.vendor_err);
+
rxq->stats.errors++;
rte_pktmbuf_free(mbuf);
- goto drop;
-
- case CQE_RX_COALESCED_4:
- /* Proceed to process mbuf */
- break;
- default:
- DP_LOG(ERR, "Unknown RX CQE type %d",
- oob->cqe_hdr.cqe_type);
- continue;
+ i++;
+ goto drop;
}
DP_LOG(DEBUG, "mana_rx_comp_oob type %d rxq %p",
--
2.34.1
More information about the dev
mailing list