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

Reply via email to