Re: [PATCH 1/1] RDMA/rxe: Return the correct errno

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 08/04/2024 22:21, Zhu Yanjun wrote:
> In the function __rxe_add_to_pool, the function xa_alloc_cyclic is
> called. The return value of the function xa_alloc_cyclic is as below:
> "
>   Return: 0 if the allocation succeeded without wrapping.  1 if the
>   allocation succeeded after wrapping, -ENOMEM if memory could not be
>   allocated or -EBUSY if there are no free entries in @limit.
> "
> But now the function __rxe_add_to_pool only returns -EINVAL. All the
> returned error value should be returned to the caller.
> 

make sense.


> Signed-off-by: Zhu Yanjun <yanjun.zhu@xxxxxxxxx>
> ---
>   drivers/infiniband/sw/rxe/rxe_pool.c | 6 ++++--
>   1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/infiniband/sw/rxe/rxe_pool.c b/drivers/infiniband/sw/rxe/rxe_pool.c
> index 6215c6de3a84..43ba0277bd7b 100644
> --- a/drivers/infiniband/sw/rxe/rxe_pool.c
> +++ b/drivers/infiniband/sw/rxe/rxe_pool.c
> @@ -122,8 +122,10 @@ int __rxe_add_to_pool(struct rxe_pool *pool, struct rxe_pool_elem *elem,
>   	int err;

I'd like to assign 'err' a default error code: -EINVAL


Thanks
Zhijian



>   	gfp_t gfp_flags;
>   
> -	if (atomic_inc_return(&pool->num_elem) > pool->max_elem)
> +	if (atomic_inc_return(&pool->num_elem) > pool->max_elem) {
> +		err = -EINVAL;
>   		goto err_cnt;
> +	}
>   
>   	elem->pool = pool;
>   	elem->obj = (u8 *)elem - pool->elem_offset;
> @@ -147,7 +149,7 @@ int __rxe_add_to_pool(struct rxe_pool *pool, struct rxe_pool_elem *elem,
>   
>   err_cnt:
>   	atomic_dec(&pool->num_elem);
> -	return -EINVAL;
> +	return err;
>   }
>   
>   void *rxe_pool_get_index(struct rxe_pool *pool, u32 index)




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux