common/mlx5: fix DevX read output buffer size
authorDekel Peled <dekelp@nvidia.com>
Thu, 18 Feb 2021 16:18:05 +0000 (18:18 +0200)
committerRaslan Darawsheh <rasland@nvidia.com>
Sun, 21 Feb 2021 09:33:25 +0000 (10:33 +0100)
Previous patch included a glue function call, with wrong size
calculation for an output buffer.
This patch fixes the issue, using the correct size calculation.

Fixes: bb7ef9a96281 ("common/mlx5: add register access DevX routine")
Cc: stable@dpdk.org
Signed-off-by: Dekel Peled <dekelp@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
drivers/common/mlx5/mlx5_devx_cmds.c

index cc70c79..0185d57 100644 (file)
@@ -53,8 +53,8 @@ mlx5_devx_cmd_register_read(void *ctx, uint16_t reg_id, uint32_t arg,
        MLX5_SET(access_register_in, in, register_id, reg_id);
        MLX5_SET(access_register_in, in, argument, arg);
        rc = mlx5_glue->devx_general_cmd(ctx, in, sizeof(in), out,
-                                        MLX5_ST_SZ_DW(access_register_out) *
-                                        sizeof(uint32_t) + dw_cnt);
+                                        MLX5_ST_SZ_BYTES(access_register_out) +
+                                        sizeof(uint32_t) * dw_cnt);
        if (rc)
                goto error;
        status = MLX5_GET(access_register_out, out, status);