From: Leon Romanovsky <leonro@xxxxxxxxxx> This flow has become crufty and confusing. Revise it so that the rules on how UMR is used with MRs is much clearer and more correct. Fixes a few minor bugs in ODP and rereg_mr where disallowed things were not properly blocked. Thanks Jason Gunthorpe (5): RDMA/mlx5: Remove dead check for EAGAIN after alloc_mr_from_cache() RDMA/mlx5: Use set_mkc_access_pd_addr_fields() in reg_create() RDMA/mlx5: Make mkeys always owned by the kernel's PD when not enabled RDMA/mlx5: Disable IB_DEVICE_MEM_MGT_EXTENSIONS if IB_WR_REG_MR can't work RDMA/mlx5: Clarify what the UMR is for when creating MRs drivers/infiniband/hw/mlx5/main.c | 4 +- drivers/infiniband/hw/mlx5/mlx5_ib.h | 45 +++++++-- drivers/infiniband/hw/mlx5/mr.c | 133 ++++++++++++++------------- drivers/infiniband/hw/mlx5/odp.c | 9 +- drivers/infiniband/hw/mlx5/wr.c | 27 +++--- 5 files changed, 127 insertions(+), 91 deletions(-) -- 2.26.2