]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
vdpa/mlx5: Fix incorrect error code reporting in query_virtqueues
authorAlok Tiwari <alok.a.tiwari@oracle.com>
Mon, 29 Sep 2025 13:42:53 +0000 (06:42 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Dec 2025 12:55:10 +0000 (13:55 +0100)
[ Upstream commit f0ea2e91093ac979d07ebd033e0f45869b1d2608 ]

When query_virtqueues() fails, the error log prints the variable err
instead of cmd->err. Since err may still be zero at this point, the
log message can misleadingly report a success value 0 even though the
command actually failed.

Even worse, once err is set to the first failure, subsequent logs
print that same stale value. This makes the error reporting appear
one step behind the actual failing queue index, which is confusing
and misleading.

Fix the log to report cmd->err, which reflects the real failure code
returned by the firmware.

Fixes: 1fcdf43ea69e ("vdpa/mlx5: Use async API for vq query command")
Signed-off-by: Alok Tiwari <alok.a.tiwari@oracle.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Dragos Tatulea <dtatulea@nvidia.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Message-Id: <20250929134258.80956-1-alok.a.tiwari@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/vdpa/mlx5/net/mlx5_vnet.c

index 2e0b8c5bec8d25fd29af03b836a119eec8841add..51b2485e874f48f8ef1af88f32ac274d3b86c868 100644 (file)
@@ -1258,7 +1258,7 @@ static int query_virtqueues(struct mlx5_vdpa_net *ndev,
                int vq_idx = start_vq + i;
 
                if (cmd->err) {
-                       mlx5_vdpa_err(mvdev, "query vq %d failed, err: %d\n", vq_idx, err);
+                       mlx5_vdpa_err(mvdev, "query vq %d failed, err: %d\n", vq_idx, cmd->err);
                        if (!err)
                                err = cmd->err;
                        continue;