struct mlx5_cqe is defined in MLX5 PMD code (mlx5_prm.h). It includes 64 bytes padding in case of (RTE_CACHE_LINE_SIZE == 128).
struct mlx5_err_cqe is defined in kernel, and doesn't include padding. When running in debug mode, in case an error CQE is detected it is printed using rte_hexdump(). The size of data to print should be sizeof(*cqe) instead of sizeof(*err_cqe), to handle the case of (RTE_CACHE_LINE_SIZE == 128), and print the full data in any case. Fixes: c7714992092f ("net/mlx5: extend debug logs verbosity") Cc: sta...@dpdk.org Signed-off-by: Dekel Peled <dek...@mellanox.com> --- drivers/net/mlx5/mlx5_rxtx.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_rxtx.h b/drivers/net/mlx5/mlx5_rxtx.h index 310f42a..53115dd 100644 --- a/drivers/net/mlx5/mlx5_rxtx.h +++ b/drivers/net/mlx5/mlx5_rxtx.h @@ -491,7 +491,7 @@ uint32_t mlx5_tx_update_ext_mp(struct mlx5_txq_data *txq, uintptr_t addr, op_code, op_code, syndrome); rte_hexdump(stderr, "MLX5 Error CQE:", (const void *)((uintptr_t)err_cqe), - sizeof(*err_cqe)); + sizeof(*cqe)); } return 1; } else if ((op_code != MLX5_CQE_RESP_SEND) && -- 1.8.3.1