net/mlx5: fix hex dump of error CQE
Checks
Commit Message
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 <dekelp@mellanox.com>
---
drivers/net/mlx5/mlx5_rxtx.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
Thursday, February 28, 2019 5:19 PM, Dekel Peled:
> Subject: [dpdk-dev] [PATCH] net/mlx5: fix hex dump of error CQE
>
> 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 <dekelp@mellanox.com>
Applied to next-net-mlx, thanks.
@@ -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) &&