RDMA/hns: Assign dest_qp when deregistering mr
authoroulijun <oulijun@huawei.com>
Wed, 3 Jan 2018 02:44:08 +0000 (10:44 +0800)
committerJason Gunthorpe <jgg@mellanox.com>
Wed, 3 Jan 2018 20:58:59 +0000 (13:58 -0700)
It needs to create eight reserve QPs for resolving
a bug of hip06. When deregistering mr, it will issue
a rdma write for every reserve QPs.

When modify qp from init to rtr, it needs to set
the value of dest_qp_num. Otherwise, it will lead
an error of freeing mr.

Signed-off-by: Lijun Ou <oulijun@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/hns/hns_roce_hw_v1.c

index 73f187e..939355e 100644 (file)
@@ -775,7 +775,7 @@ static int hns_roce_v1_rsv_lp_qp(struct hns_roce_dev *hr_dev)
                        goto create_lp_qp_failed;
                }
 
-               ret = hr_dev->hw->modify_qp(&hr_qp->ibqp, &attr, attr_mask,
+               ret = hr_dev->hw->modify_qp(&hr_qp->ibqp, &attr, IB_QP_DEST_QPN,
                                            IB_QPS_INIT, IB_QPS_RTR);
                if (ret) {
                        dev_err(dev, "modify qp failed(%d)!\n", ret);