Move empty segment case processing to debug mode. Signed-off-by: Matan Azrad <ma...@mellanox.com> --- drivers/net/mlx4/mlx4_rxtx.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/net/mlx4/mlx4_rxtx.c b/drivers/net/mlx4/mlx4_rxtx.c index 482c399..c005a41 100644 --- a/drivers/net/mlx4/mlx4_rxtx.c +++ b/drivers/net/mlx4/mlx4_rxtx.c @@ -305,15 +305,18 @@ static int handle_multi_segs(struct rte_mbuf *buf, return -1; } #endif /* NDEBUG */ - if (likely(sbuf->data_len)) { - byte_count = rte_cpu_to_be_32(sbuf->data_len); - } else { + byte_count = rte_cpu_to_be_32(sbuf->data_len); +#ifndef NDEBUG + if (unlikely(!sbuf->data_len)) { + DEBUG("%p: Empty segment is not allowed", + (void *)txq); /* * Zero length segment is treated as inline segment * with zero data. */ byte_count = RTE_BE32(0x80000000); } +#endif /* NDEBUG */ /* * If the data segment is not at the beginning of a * Tx basic block (TXBB) then write the byte count, -- 1.8.3.1