diff options
-rw-r--r-- | drivers/infiniband/hw/mlx5/mr.c | 6 |
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 | ||
1522 | err: | 1522 | err: |