]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
RDMA/mlx5: Use QP port when decoding responder CQEs
authorChenguang Zhao <zhaochenguang@kylinos.cn>
Fri, 10 Apr 2026 07:40:46 +0000 (15:40 +0800)
committerLeon Romanovsky <leon@kernel.org>
Mon, 18 May 2026 08:58:41 +0000 (04:58 -0400)
The responder CQE path determines the link layer via
rdma_port_get_link_layer(). Use qp->port instead of
hardcoding port 1, which can mis-decode completions on
multi-port devices.

Signed-off-by: Chenguang Zhao <zhaochenguang@kylinos.cn>
Link: https://patch.msgid.link/20260410074046.2044595-1-zhaochenguang@kylinos.cn
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/hw/mlx5/cq.c

index a76b7a36087d98ed06a347e75bab955509fc4c2d..ae20d11f04fc19f177fed20ed4eb93d44574abef 100644 (file)
@@ -169,7 +169,8 @@ enum {
 static void handle_responder(struct ib_wc *wc, struct mlx5_cqe64 *cqe,
                             struct mlx5_ib_qp *qp)
 {
-       enum rdma_link_layer ll = rdma_port_get_link_layer(qp->ibqp.device, 1);
+       enum rdma_link_layer ll =
+               rdma_port_get_link_layer(qp->ibqp.device, qp->port);
        struct mlx5_ib_dev *dev = to_mdev(qp->ibqp.device);
        struct mlx5_ib_srq *srq = NULL;
        struct mlx5_ib_wq *wq;