[PATCH] examples/dma: fix max-frame-size cannot be zero

Chengwen Feng fengchengwen at huawei.com
Tue Feb 20 03:31:53 CET 2024


In the original implementation, the max_frame_size could be zero, but
commit ("examples/dma: replace getopt with argparse") treat zero as an
error. This commit fixes it.

Also, since unsigned doesn't < 0, adjust "<= 0" judgement to "== 0".

Fixes: 8d85afb19af7 ("examples/dma: replace getopt with argparse")

Reported-by: Jiang, YuX <yux.jiang at intel.com>
Signed-off-by: Chengwen Feng <fengchengwen at huawei.com>
---
 examples/dma/dmafwd.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/examples/dma/dmafwd.c b/examples/dma/dmafwd.c
index f4a0bff06e..acceae6b7b 100644
--- a/examples/dma/dmafwd.c
+++ b/examples/dma/dmafwd.c
@@ -695,23 +695,23 @@ dma_parse_args(int argc, char **argv, unsigned int nb_ports)
 		return ret;
 
 	/* check argument's value which parsing by autosave. */
-	if (dma_batch_sz <= 0 || dma_batch_sz > MAX_PKT_BURST) {
+	if (dma_batch_sz == 0 || dma_batch_sz > MAX_PKT_BURST) {
 		printf("Invalid dma batch size, %d.\n", dma_batch_sz);
 		return -1;
 	}
 
-	if (max_frame_size <= 0 || max_frame_size > RTE_ETHER_MAX_JUMBO_FRAME_LEN) {
+	if (max_frame_size > RTE_ETHER_MAX_JUMBO_FRAME_LEN) {
 		printf("Invalid max frame size, %d.\n", max_frame_size);
 		return -1;
 	}
 
-	if (nb_queues <= 0 || nb_queues > MAX_RX_QUEUES_COUNT) {
+	if (nb_queues == 0 || nb_queues > MAX_RX_QUEUES_COUNT) {
 		printf("Invalid RX queues number %d. Max %u\n",
 			nb_queues, MAX_RX_QUEUES_COUNT);
 		return -1;
 	}
 
-	if (ring_size <= 0) {
+	if (ring_size == 0) {
 		printf("Invalid ring size, %d.\n", ring_size);
 		return -1;
 	}
@@ -721,7 +721,7 @@ dma_parse_args(int argc, char **argv, unsigned int nb_ports)
 		ring_size = MBUF_RING_SIZE;
 	}
 
-	if (stats_interval <= 0) {
+	if (stats_interval == 0) {
 		printf("Invalid stats interval, setting to 1\n");
 		stats_interval = 1;	/* set to default */
 	}
-- 
2.17.1



More information about the dev mailing list