[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