summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/infiniband/sw/rxe/rxe_odp.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/drivers/infiniband/sw/rxe/rxe_odp.c b/drivers/infiniband/sw/rxe/rxe_odp.c
index ff904d5e54a7..c189c033175d 100644
--- a/drivers/infiniband/sw/rxe/rxe_odp.c
+++ b/drivers/infiniband/sw/rxe/rxe_odp.c
@@ -87,14 +87,9 @@ int rxe_odp_mr_init_user(struct rxe_dev *rxe, u64 start, u64 length,
rxe_mr_init(access_flags, mr);
- if (!start && length == U64_MAX) {
- if (iova != 0)
- return -EINVAL;
- if (!(rxe->attr.odp_caps.general_caps & IB_ODP_SUPPORT_IMPLICIT))
- return -EINVAL;
-
- /* Never reach here, for implicit ODP is not implemented. */
- }
+ /* Implicit ODP (start=0, length=U64_MAX) is not implemented. */
+ if (!start && length == U64_MAX)
+ return -EOPNOTSUPP;
umem_odp = ib_umem_odp_get(&rxe->ib_dev, start, length, access_flags,
&rxe_mn_ops);