From 38f0a160b5fe1c9e8451dea2cab9a78ebfe86675 Mon Sep 17 00:00:00 2001 From: Dekel Peled Date: Thu, 28 Feb 2019 17:18:45 +0200 Subject: [PATCH] net/mlx5: fix hex dump of error completion 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: stable@dpdk.org Signed-off-by: Dekel Peled Acked-by: Shahaf Shuler --- 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 be464e8705..c0e1adf140 100644 --- a/drivers/net/mlx5/mlx5_rxtx.h +++ b/drivers/net/mlx5/mlx5_rxtx.h @@ -491,7 +491,7 @@ check_cqe(volatile struct mlx5_cqe *cqe, 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) && -- 2.20.1