From ca95cf7b5ae1fb6c9647cf2a29a978af4a0b4824 Mon Sep 17 00:00:00 2001 From: Jie Zhou Date: Tue, 29 Jun 2021 13:50:19 -0700 Subject: [PATCH] app/testpmd: fix type of FEC mode parsing output [ upstream commit ce0a4a1d5d5b9b2d20909cd518cbd08529fc2437 ] Passing an uint32_t pointer to an enum pointer parameter causes pointer-sign warning on Windows (converts between pointers to integer types with different sign), since enum is implicitly converted to int on Windows. And the current enum pointer parameter of that function is actually misleading and should be fixed as an uint32_t pointer parameter. Fixes: b19da32e3151 ("app/testpmd: add FEC command") Signed-off-by: Jie Zhou Reviewed-by: Andrew Rybchenko --- app/test-pmd/cmdline.c | 6 +++--- app/test-pmd/config.c | 5 +++-- app/test-pmd/testpmd.h | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index 3712daae7b..e28d068cd2 100644 --- a/app/test-pmd/cmdline.c +++ b/app/test-pmd/cmdline.c @@ -16449,17 +16449,17 @@ cmd_set_port_fec_mode_parsed( { struct cmd_set_port_fec_mode *res = parsed_result; uint16_t port_id = res->port_id; - uint32_t mode; + uint32_t fec_capa; int ret; - ret = parse_fec_mode(res->fec_value, &mode); + ret = parse_fec_mode(res->fec_value, &fec_capa); if (ret < 0) { printf("Unknown fec mode: %s for Port %d\n", res->fec_value, port_id); return; } - ret = rte_eth_fec_set(port_id, mode); + ret = rte_eth_fec_set(port_id, fec_capa); if (ret == -ENOTSUP) { printf("Function not implemented\n"); return; diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index 937a90f3cd..4847c36481 100644 --- a/app/test-pmd/config.c +++ b/app/test-pmd/config.c @@ -3760,13 +3760,14 @@ set_tx_pkt_split(const char *name) } int -parse_fec_mode(const char *name, uint32_t *mode) +parse_fec_mode(const char *name, uint32_t *fec_capa) { uint8_t i; for (i = 0; i < RTE_DIM(fec_mode_name); i++) { if (strcmp(fec_mode_name[i].name, name) == 0) { - *mode = RTE_ETH_FEC_MODE_TO_CAPA(fec_mode_name[i].mode); + *fec_capa = + RTE_ETH_FEC_MODE_TO_CAPA(fec_mode_name[i].mode); return 0; } } diff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h index aad2eb30f4..927ca587d3 100644 --- a/app/test-pmd/testpmd.h +++ b/app/test-pmd/testpmd.h @@ -878,7 +878,7 @@ void show_tx_pkt_segments(void); void set_tx_pkt_times(unsigned int *tx_times); void show_tx_pkt_times(void); void set_tx_pkt_split(const char *name); -int parse_fec_mode(const char *name, enum rte_eth_fec_mode *mode); +int parse_fec_mode(const char *name, uint32_t *fec_capa); void show_fec_capability(uint32_t num, struct rte_eth_fec_capa *speed_fec_capa); void set_nb_pkt_per_burst(uint16_t pkt_burst); char *list_pkt_forwarding_modes(void);