When the "hide_zero" parameter is parsed successfully in the ethdev
telemetry regs command, the else branch unconditionally resets
hide_zero back to false, discarding the parsed value. As a result the
hide_zero option is silently ignored.

Remove the unnecessary reset so the parsed hide_zero value is retained
and passed to eth_dev_get_port_regs().

Fixes: ba4d57bd849d ("ethdev: support hide zero in registers telemetry")
Cc: [email protected]

Signed-off-by: Chengwen Feng <[email protected]>
---
 lib/ethdev/rte_ethdev_telemetry.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/lib/ethdev/rte_ethdev_telemetry.c 
b/lib/ethdev/rte_ethdev_telemetry.c
index ca7f4681c9..caa7b33e1e 100644
--- a/lib/ethdev/rte_ethdev_telemetry.c
+++ b/lib/ethdev/rte_ethdev_telemetry.c
@@ -1515,13 +1515,11 @@ eth_dev_handle_port_regs(const char *cmd __rte_unused,
                kvlist = rte_kvargs_parse(end_param, valid_keys);
                filter_val = rte_kvargs_get(kvlist, "filter");
                ret = rte_kvargs_process(kvlist, "hide_zero", 
eth_dev_parse_hide_zero, &hide_zero);
-               if (kvlist == NULL || (filter_val != NULL && strlen(filter_val) 
== 0) || ret != 0) {
+               if (kvlist == NULL || (filter_val != NULL && strlen(filter_val) 
== 0) || ret != 0)
                        RTE_ETHDEV_LOG_LINE(NOTICE,
                                "Unknown extra parameters passed to ethdev 
telemetry command, ignoring");
-               } else {
+               else
                        filter = (filter_val != NULL) ? strdup(filter_val) : 
NULL;
-                       hide_zero = false;
-               }
                rte_kvargs_free(kvlist);
        }
 
-- 
2.17.1

Reply via email to