diff options
| author | Alok Tiwari <alok.a.tiwari@oracle.com> | 2026-04-09 02:27:47 -0700 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2026-04-13 13:52:04 -0700 |
| commit | bc174d054986ac5767828e6fbb3371f3474fbbd8 (patch) | |
| tree | a375e95eebf6dc8a2ae442df95cbf41965e25e3c | |
| parent | b025461303d87923abfaae6cc07ba8a83ddfd844 (diff) | |
| download | linux-bc174d054986ac5767828e6fbb3371f3474fbbd8.tar.gz linux-bc174d054986ac5767828e6fbb3371f3474fbbd8.zip | |
mlx4: correct error reporting in mlx4_master_process_vhcr()
mlx4_master_process_vhcr() logs vhcr->errno on failures, but this field
is never populated by the PF path. As a result, all failures are reported
with errno 0 and err print in status case which is misleading.
Use the actual return value (err) instead, translate it to FW status
before logging, and report both values.
Signed-off-by: Alok Tiwari <alok.a.tiwari@oracle.com>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Link: https://patch.msgid.link/20260409092754.508880-1-alok.a.tiwari@oracle.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
| -rw-r--r-- | drivers/net/ethernet/mellanox/mlx4/cmd.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx4/cmd.c b/drivers/net/ethernet/mellanox/mlx4/cmd.c index de0193d82ec1..bdaf152e6712 100644 --- a/drivers/net/ethernet/mellanox/mlx4/cmd.c +++ b/drivers/net/ethernet/mellanox/mlx4/cmd.c @@ -1782,6 +1782,7 @@ static int mlx4_master_process_vhcr(struct mlx4_dev *dev, int slave, } if (err) { + vhcr_cmd->status = mlx4_errno_to_status(err); if (!(dev->persist->state & MLX4_DEVICE_STATE_INTERNAL_ERROR)) { if (vhcr->op == MLX4_CMD_ALLOC_RES && (vhcr->in_modifier & 0xff) == RES_COUNTER && @@ -1791,9 +1792,8 @@ static int mlx4_master_process_vhcr(struct mlx4_dev *dev, int slave, slave, err); else mlx4_warn(dev, "vhcr command:0x%x slave:%d failed with error:%d, status %d\n", - vhcr->op, slave, vhcr->errno, err); + vhcr->op, slave, err, vhcr_cmd->status); } - vhcr_cmd->status = mlx4_errno_to_status(err); goto out_status; } |
