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: [email protected]
Signed-off-by: Bruce Richardson <[email protected]>
[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