[PATCH] IB/mlx5: unify return value to ENOENT

From: Li Zhijian
Date: Fri Sep 03 2021 - 04:43:41 EST


Previously, ENOENT or EINVAL will be returned by ibv_advise_mr() although
the errors all occur at get_prefetchable_mr().

flags = IBV_ADVISE_MR_FLAG_FLUSH:
mlx5_ib_advise_mr_prefetch()
-> mlx5_ib_prefetch_sg_list()
-> get_prefetchable_mr()
return -ENOENT;

flags = 0:
mlx5_ib_advise_mr_prefetch()
-> init_prefetch_work()
-> get_prefetchable_mr()
return -EINVAL;

Signed-off-by: Li Zhijian <lizhijian@xxxxxxxxxxxxxx>
---
drivers/infiniband/hw/mlx5/odp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/infiniband/hw/mlx5/odp.c b/drivers/infiniband/hw/mlx5/odp.c
index d0d98e584ebc..52572e7ea6f6 100644
--- a/drivers/infiniband/hw/mlx5/odp.c
+++ b/drivers/infiniband/hw/mlx5/odp.c
@@ -1828,7 +1828,7 @@ int mlx5_ib_advise_mr_prefetch(struct ib_pd *pd,

if (!init_prefetch_work(pd, advice, pf_flags, work, sg_list, num_sge)) {
destroy_prefetch_work(work);
- return -EINVAL;
+ return -ENOENT;
}
queue_work(system_unbound_wq, &work->work);
return 0;
--
2.31.1