From: Yunjian Wang <wangyunj...@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: sta...@dpdk.org

Acked-by: Jeff Guo <jia....@intel.com>
Signed-off-by: Yunjian Wang <wangyunj...@huawei.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 363a2ca..d990bfd 100644
--- a/lib/librte_eal/common/eal_common_dev.c
+++ b/lib/librte_eal/common/eal_common_dev.c
@@ -530,9 +530,15 @@ 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;
 }
-- 
1.8.3.1


Reply via email to