From: Long Li <lon...@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 <lon...@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

Reply via email to