RDMA/hns: Fix QP's resp incomplete assignment
[linux-2.6-microblaze.git] / drivers / infiniband / hw / hns / hns_roce_qp.c
index 0d0d5aa..bddc952 100644 (file)
@@ -848,7 +848,6 @@ static int alloc_qp_db(struct hns_roce_dev *hr_dev, struct hns_roce_qp *hr_qp,
                                goto err_out;
                        }
                        hr_qp->en_flags |= HNS_ROCE_QP_CAP_SQ_RECORD_DB;
-                       resp->cap_flags |= HNS_ROCE_QP_CAP_SQ_RECORD_DB;
                }
 
                if (user_qp_has_rdb(hr_dev, init_attr, udata, resp)) {
@@ -861,7 +860,6 @@ static int alloc_qp_db(struct hns_roce_dev *hr_dev, struct hns_roce_qp *hr_qp,
                                goto err_sdb;
                        }
                        hr_qp->en_flags |= HNS_ROCE_QP_CAP_RQ_RECORD_DB;
-                       resp->cap_flags |= HNS_ROCE_QP_CAP_RQ_RECORD_DB;
                }
        } else {
                if (hr_dev->pci_dev->revision >= PCI_REVISION_ID_HIP09)
@@ -1071,6 +1069,7 @@ static int hns_roce_create_qp_common(struct hns_roce_dev *hr_dev,
        }
 
        if (udata) {
+               resp.cap_flags = hr_qp->en_flags;
                ret = ib_copy_to_udata(udata, &resp,
                                       min(udata->outlen, sizeof(resp)));
                if (ret) {