[ewg] Re: [PATCH ofed-1.2] ehca (kernel space): return proper error code if register_mr fails

Troy Benjegerdes troy at scl.ameslab.gov
Wed May 16 08:00:10 PDT 2007


What do H_CONSTRAINED and H_NOT_ENOUGH_RESOURCES mean? Should they also 
be mapped to ENOMEM?

We've seen a few instances where some functions other than 
ehca_mrmw_map_hrc_alloc return EINVAL when they should probably return 
ENOMEM as well.


Hoang-Nam Nguyen wrote:
> Hello Tziporet!
> Please accept below patch for ofed-1.2, because it fixes a mr resources
> limitation problem reported by Troy and Kyle on this mailing list. Only
> with this patch their application is able to release no longer used mrs
> properly.
> Thanks!
> Regards
> Nam
>
>
>
> This patch sets the return code of ehca_register_mr() to ENOMEM
> if corresponding firmware call fails due to out of resources.
> Some of error codes were mapped to EINVAL. They are now mapped
> to default case, which already returns EINVAL anyway.
>
>
> Signed-off-by: Hoang-Nam Nguyen <hnguyen at de.ibm.com>
> ---
>
>
>  ehca_mrmw.c |    7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)
>
>
> diff --git a/drivers/infiniband/hw/ehca/ehca_mrmw.c b/drivers/infiniband/hw/ehca/ehca_mrmw.c
> index cfb362a..b3bbe3b 100644
> --- a/drivers/infiniband/hw/ehca/ehca_mrmw.c
> +++ b/drivers/infiniband/hw/ehca/ehca_mrmw.c
> @@ -2045,13 +2045,10 @@ int ehca_mrmw_map_hrc_alloc(const u64 hi
>  	switch (hipz_rc) {
>  	case H_SUCCESS:	             /* successful completion */
>  		return 0;
> -	case H_ADAPTER_PARM:         /* invalid adapter handle */
> -	case H_RT_PARM:              /* invalid resource type */
>  	case H_NOT_ENOUGH_RESOURCES: /* insufficient resources */
> -	case H_MLENGTH_PARM:         /* invalid memory length */
> -	case H_MEM_ACCESS_PARM:      /* invalid access controls */
>  	case H_CONSTRAINED:          /* resource constraint */
> -		return -EINVAL;
> +	case H_NO_MEM:
> +		return -ENOMEM;
>  	case H_BUSY:                 /* long busy */
>  		return -EBUSY;
>  	default:
>
>   




More information about the ewg mailing list