rte_log_register_type_and_pick_level() returns an int. Casting to a uin32_t will make us miss the -1 passed in case of failure.
Fixes: 37b881a96194 ("telemetry: use log function from pointer") Signed-off-by: David Marchand <david.march...@redhat.com> --- lib/librte_eal/freebsd/eal.c | 4 +++- lib/librte_eal/linux/eal.c | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/librte_eal/freebsd/eal.c b/lib/librte_eal/freebsd/eal.c index 32442e5ba6..5544701f20 100644 --- a/lib/librte_eal/freebsd/eal.c +++ b/lib/librte_eal/freebsd/eal.c @@ -941,8 +941,10 @@ rte_eal_init(int argc, char **argv) return -1; } if (!internal_conf->no_telemetry) { - uint32_t tlog = rte_log_register_type_and_pick_level( + int tlog = rte_log_register_type_and_pick_level( "lib.telemetry", RTE_LOG_WARNING); + if (tlog < 0) + tlog = RTE_LOGTYPE_EAL; if (rte_telemetry_init(rte_eal_get_runtime_dir(), rte_version(), &internal_conf->ctrl_cpuset, rte_log, tlog) != 0) diff --git a/lib/librte_eal/linux/eal.c b/lib/librte_eal/linux/eal.c index abbb537746..9b47fef6f8 100644 --- a/lib/librte_eal/linux/eal.c +++ b/lib/librte_eal/linux/eal.c @@ -1314,8 +1314,10 @@ rte_eal_init(int argc, char **argv) return -1; } if (!internal_conf->no_telemetry) { - uint32_t tlog = rte_log_register_type_and_pick_level( + int tlog = rte_log_register_type_and_pick_level( "lib.telemetry", RTE_LOG_WARNING); + if (tlog < 0) + tlog = RTE_LOGTYPE_EAL; if (rte_telemetry_init(rte_eal_get_runtime_dir(), rte_version(), &internal_conf->ctrl_cpuset, rte_log, tlog) != 0) -- 2.23.0