aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYixian Liu <liuyixian@huawei.com>2019-02-03 16:13:04 +0800
committerJason Gunthorpe <jgg@mellanox.com>2019-02-14 13:20:18 -0700
commitab22bf05216a6bb4812448f3a8609489047cf311 (patch)
treef65275b2510beb185c590825e750e16b9d6ab38a
parentRDMA/hns: Limit minimum ROCE CQ depth to 64 (diff)
downloadlinux-dev-ab22bf05216a6bb4812448f3a8609489047cf311.tar.xz
linux-dev-ab22bf05216a6bb4812448f3a8609489047cf311.zip
RDMA/hns: Fix the state of rereg mr
The state of mr after reregister operation should be set to valid state. Otherwise, it will keep the same as the state before reregistered. Signed-off-by: Yixian Liu <liuyixian@huawei.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
-rw-r--r--drivers/infiniband/hw/hns/hns_roce_hw_v2.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/hns/hns_roce_hw_v2.c b/drivers/infiniband/hw/hns/hns_roce_hw_v2.c
index 5677d6ffac7d..d7416df5b848 100644
--- a/drivers/infiniband/hw/hns/hns_roce_hw_v2.c
+++ b/drivers/infiniband/hw/hns/hns_roce_hw_v2.c
@@ -2190,6 +2190,9 @@ static int hns_roce_v2_rereg_write_mtpt(struct hns_roce_dev *hr_dev,
struct hns_roce_v2_mpt_entry *mpt_entry = mb_buf;
int ret = 0;
+ roce_set_field(mpt_entry->byte_4_pd_hop_st, V2_MPT_BYTE_4_MPT_ST_M,
+ V2_MPT_BYTE_4_MPT_ST_S, V2_MPT_ST_VALID);
+
if (flags & IB_MR_REREG_PD) {
roce_set_field(mpt_entry->byte_4_pd_hop_st, V2_MPT_BYTE_4_PD_M,
V2_MPT_BYTE_4_PD_S, pdn);