net/hinic: fix Tx mbuf lenght problem

Message ID tencent_4FA3EB2D3970D2396D78F5D34E7A16CEFF06@qq.com (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series net/hinic: fix Tx mbuf lenght problem |

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/github-robot: build success github build: passed
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-aarch64-unit-testing success Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS
ci/iol-x86_64-unit-testing success Testing PASS
ci/iol-abi-testing success Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS

Commit Message

Junjie Lin March 7, 2022, 1:56 p.m. UTC
  From: Junjie Lin <linjunjie6@huawei.com>

The Tx mbuf needs to be ignored if the pkt_len member is zero.

Fixes: 54faba2295bd ("net/hinic:adds Tx queue xstats members")
Cc: stable@dpdk.org

Signed-off-by: Junjie Lin <linjunjie6@huawei.com>
---
 drivers/net/hinic/hinic_pmd_tx.c | 6 ++++++
 1 file changed, 6 insertions(+)
  

Patch

diff --git a/drivers/net/hinic/hinic_pmd_tx.c b/drivers/net/hinic/hinic_pmd_tx.c
index f09b1a6..99a5e3a 100644
--- a/drivers/net/hinic/hinic_pmd_tx.c
+++ b/drivers/net/hinic/hinic_pmd_tx.c
@@ -1144,6 +1144,12 @@  u16 hinic_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, u16 nb_pkts)
 		mbuf_pkt = *tx_pkts++;
 		queue_info = 0;
 
+		if (unlikely(mbuf_pkt->pkt_len == 0)) {
+			rte_pktmbuf_free(mbuf_pkt);
+			txq->txq_stats.off_errs++;
+			continue;
+		}
+
 		/* 1. parse sge and tx offload info from mbuf */
 		if (unlikely(!hinic_get_sge_txoff_info(mbuf_pkt,
 						       &sqe_info, &off_info))) {