mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-16 10:11:38 -04:00
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>
This commit is contained in:
committed by
Jakub Kicinski
parent
b025461303
commit
bc174d0549
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user