3.18-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Majd Dibbiny <m...@mellanox.com>


[ Upstream commit 31fde034a8bd964a5c7c1a5663fc87a913158db2 ]

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 <m...@mellanox.com>
Reviewed-by: Yishai Hadas <yish...@mellanox.com>
Signed-off-by: Leon Romanovsky <l...@kernel.org>
Signed-off-by: Doug Ledford <dledf...@redhat.com>
Signed-off-by: Sasha Levin <alexander.le...@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
---
 drivers/infiniband/hw/mlx5/main.c |    2 ++
 1 file changed, 2 insertions(+)

--- a/drivers/infiniband/hw/mlx5/main.c
+++ b/drivers/infiniband/hw/mlx5/main.c
@@ -1099,6 +1099,8 @@ static int create_umr_res(struct mlx5_ib
        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;


Reply via email to