summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/infiniband/hw/mlx5/mr.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/infiniband/hw/mlx5/mr.c b/drivers/infiniband/hw/mlx5/mr.c
index 1eff031ef048..e7f840f306e4 100644
--- a/drivers/infiniband/hw/mlx5/mr.c
+++ b/drivers/infiniband/hw/mlx5/mr.c
@@ -1441,6 +1441,9 @@ int mlx5_ib_rereg_user_mr(struct ib_mr *ib_mr, int flags, u64 start,
1441 if (!mr->umem) 1441 if (!mr->umem)
1442 return -EINVAL; 1442 return -EINVAL;
1443 1443
1444 if (is_odp_mr(mr))
1445 return -EOPNOTSUPP;
1446
1444 if (flags & IB_MR_REREG_TRANS) { 1447 if (flags & IB_MR_REREG_TRANS) {
1445 addr = virt_addr; 1448 addr = virt_addr;
1446 len = length; 1449 len = length;
@@ -1486,8 +1489,6 @@ int mlx5_ib_rereg_user_mr(struct ib_mr *ib_mr, int flags, u64 start,
1486 } 1489 }
1487 1490
1488 mr->allocated_from_cache = 0; 1491 mr->allocated_from_cache = 0;
1489 if (IS_ENABLED(CONFIG_INFINIBAND_ON_DEMAND_PAGING))
1490 mr->live = 1;
1491 } else { 1492 } else {
1492 /* 1493 /*
1493 * Send a UMR WQE 1494 * Send a UMR WQE
@@ -1516,7 +1517,6 @@ int mlx5_ib_rereg_user_mr(struct ib_mr *ib_mr, int flags, u64 start,
1516 1517
1517 set_mr_fields(dev, mr, npages, len, access_flags); 1518 set_mr_fields(dev, mr, npages, len, access_flags);
1518 1519
1519 update_odp_mr(mr);
1520 return 0; 1520 return 0;
1521 1521
1522err: 1522err: