mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-05 00:20:32 +00:00
RDMA/hns: Fix QP's resp incomplete assignment
[ Upstream commitd2e0ccffcd
] The resp passed to the user space represents the enable flag of qp, incomplete assignment will cause some features of the user space to be disabled. Fixes:90ae0b57e4
("RDMA/hns: Combine enable flags of qp") Fixes:aba457ca89
("RDMA/hns: Support owner mode doorbell") Link: https://lore.kernel.org/r/1629985056-57004-3-git-send-email-liangwenpeng@huawei.com Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
e91077cf17
commit
b4849e2ac7
1 changed files with 1 additions and 2 deletions
|
@ -740,7 +740,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)) {
|
||||
|
@ -752,7 +751,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 {
|
||||
/* QP doorbell register address */
|
||||
|
@ -959,6 +957,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) {
|
||||
|
|
Loading…
Reference in a new issue