When building for debian 11 32-bit, errors were reported with cpfl driver[1]. The error is due to comparing signed and unsigned values:
../drivers/net/cpfl/cpfl_flow_parser.c:1699:29: error: comparison of integer expressions of different signedness: 'long int' and 'uint32_t' {aka 'unsigned int'} [-Werror=sign-compare] Fix the issue by using an explicitly cast for the return value from atol. Fixes: c10881d3ee74 ("net/cpfl: support flow prog action") Cc: sta...@dpdk.org Signed-off-by: Bruce Richardson <bruce.richard...@intel.com> [1] https://build.opensuse.org/package/live_build_log/home:bluca:dpdk/dpdk/Debian_11/i586 --- drivers/net/cpfl/cpfl_flow_parser.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/cpfl/cpfl_flow_parser.c b/drivers/net/cpfl/cpfl_flow_parser.c index a8f0488f21..40569ddc6f 100644 --- a/drivers/net/cpfl/cpfl_flow_parser.c +++ b/drivers/net/cpfl/cpfl_flow_parser.c @@ -1696,7 +1696,7 @@ cpfl_parse_check_prog_action(struct cpfl_flow_js_mr_key_action *key_act, bool check_name; check_name = key_act->prog.has_name ? strcmp(prog->name, key_act->prog.name) == 0 - : atol(prog->name) == key_act->prog.id; + : (uint32_t)atol(prog->name) == key_act->prog.id; if (!check_name) { PMD_DRV_LOG(ERR, "Not support this prog type: %s.", prog->name); return -EINVAL; -- 2.43.0