IB/mlx5: Assign send CQ and recv CQ of UMR QP
authorMajd Dibbiny <majd@mellanox.com>
Mon, 30 Oct 2017 12:23:13 +0000 (14:23 +0200)
committerDoug Ledford <dledford@redhat.com>
Mon, 13 Nov 2017 18:53:22 +0000 (13:53 -0500)
The UMR's QP is created by calling mlx5_ib_create_qp directly, and
therefore the send CQ and the recv CQ on the ibqp weren't assigned.

Assign them right after calling the mlx5_ib_create_qp to assure
that any access to those pointers will work as expected and won't
crash the system as might happen as part of reset flow.

Fixes: e126ba97dba9 ("mlx5: Add driver for Mellanox Connect-IB adapters")
Signed-off-by: Majd Dibbiny <majd@mellanox.com>
Reviewed-by: Yishai Hadas <yishaih@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/mlx5/main.c

index e5f8d5d1cd7e14dfc2b28218dba5a1b5742a730e..d2aadb13637b7383c6d6782cef95c8f4b402a924 100644 (file)
@@ -3138,6 +3138,8 @@ static int create_umr_res(struct mlx5_ib_dev *dev)
        qp->real_qp    = qp;
        qp->uobject    = NULL;
        qp->qp_type    = MLX5_IB_QPT_REG_UMR;
+       qp->send_cq    = init_attr->send_cq;
+       qp->recv_cq    = init_attr->recv_cq;
 
        attr->qp_state = IB_QPS_INIT;
        attr->port_num = 1;