[dpdk-stable] [dpdk-dev] [PATCH v5 2/3] eal: return error code when failure

David Marchand david.marchand at redhat.com
Thu Oct 22 14:51:54 CEST 2020


On Wed, Oct 21, 2020 at 1:19 PM wangyunjian <wangyunjian at huawei.com> wrote:
>
> From: Yunjian Wang <wangyunjian at huawei.com>
>
> Fix return value, using -EAGAIN instead of 0 when the callback is busy
> and using -ENOENT instead of 0 when the callback is not found.
>
> Fixes: a753e53d517b ("eal: add device event monitor framework")
> Cc: stable at dpdk.org

This API is experimental, its description is vague enough and we can
change it in the current release.
But I see this as a change in behavior for existing users, not a fix
and I would not backport it.

Opinions?


>
> Signed-off-by: Yunjian Wang <wangyunjian at huawei.com>
> Acked-by: Jeff Guo <jia.guo at intel.com>
> ---
>  lib/librte_eal/common/eal_common_dev.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/lib/librte_eal/common/eal_common_dev.c b/lib/librte_eal/common/eal_common_dev.c
> index 363a2ca95e..d990bfd20d 100644
> --- a/lib/librte_eal/common/eal_common_dev.c
> +++ b/lib/librte_eal/common/eal_common_dev.c
> @@ -530,9 +530,15 @@ rte_dev_event_callback_unregister(const char *device_name,
>                         free(event_cb);
>                         ret++;
>                 } else {
> -                       continue;
> +                       ret = -EAGAIN;
> +                       break;
>                 }
>         }
> +
> +       /* this callback is not be registered */
> +       if (ret == 0)
> +               ret = -ENOENT;
> +
>         rte_spinlock_unlock(&dev_event_lock);
>         return ret;
>  }
> --
> 2.23.0
>


-- 
David Marchand



More information about the stable mailing list