[3/3] eal: return error code when failure
diff mbox series

Message ID 65433c2a9efdb47b1c9dba63d9bd1cb160e08097.1591186247.git.wangyunjian@huawei.com
State New
Delegated to: David Marchand
Headers show
Series
  • fixes for device event
Related show

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

wangyunjian June 3, 2020, 12:55 p.m. UTC
From: Yunjian Wang <wangyunjian@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@dpdk.org

Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
---
 lib/librte_eal/common/eal_common_dev.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

Comments

Jeff Guo July 2, 2020, 9:18 a.m. UTC | #1
hi, yunjian

On 6/3/2020 8:55 PM, wangyunjian wrote:
> From: Yunjian Wang <wangyunjian@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@dpdk.org
>
> Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
> ---
>   lib/librte_eal/common/eal_common_dev.c | 7 ++++++-
>   1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/lib/librte_eal/common/eal_common_dev.c b/lib/librte_eal/common/eal_common_dev.c
> index 6b465bc..5f5e333 100644
> --- a/lib/librte_eal/common/eal_common_dev.c
> +++ b/lib/librte_eal/common/eal_common_dev.c
> @@ -536,9 +536,14 @@ static int cmp_dev_name(const struct rte_device *dev, const void *_name)
>   			free(event_cb);
>   			ret++;
>   		} else {
> -			continue;
> +			ret = -EAGAIN;
> +			break;
>   		}
>   	}


Suggest add a blank line here if there will be another version.


> +	/* this callback is not be registered */
> +	if (ret == 0)
> +		ret = -ENOENT;
> +
>   	rte_spinlock_unlock(&dev_event_lock);
>   	return ret;
>   }

Look good and thanks.

Acked-by: Jeff Guo <jia.guo@intel.com>

Patch
diff mbox series

diff --git a/lib/librte_eal/common/eal_common_dev.c b/lib/librte_eal/common/eal_common_dev.c
index 6b465bc..5f5e333 100644
--- a/lib/librte_eal/common/eal_common_dev.c
+++ b/lib/librte_eal/common/eal_common_dev.c
@@ -536,9 +536,14 @@  static int cmp_dev_name(const struct rte_device *dev, const void *_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;
 }