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

fengchengwen fengchengwen at huawei.com
Tue Mar 5 12:42:33 CET 2024


Hi Thomas,

This commit fix bug "Bug 1387 - [dpdk24.03] cbdma: Failed to launch dpdk-dma app" [1]

Should I send v2 to add the following line in commit log?
Bugzilla ID: 1387

[1] https://bugs.dpdk.org/show_bug.cgi?id=1387

Thanks

On 2024/2/21 14:51, Jiang, YuX wrote:
>> -----Original Message-----
>> From: Chengwen Feng <fengchengwen at huawei.com>
>> Sent: Tuesday, February 20, 2024 10:32 AM
>> To: thomas at monjalon.net; dev at dpdk.org; Jiang, YuX <yux.jiang at intel.com>;
>> Richardson, Bruce <bruce.richardson at intel.com>; Laatz, Kevin
>> <kevin.laatz at intel.com>
>> Subject: [PATCH] examples/dma: fix max-frame-size cannot be zero
>>
>> 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
> 
> Tested-by:  Yu Jiang <yux.jiang at intel.com>
> 
> Best regards,
> Yu Jiang
> .
> 


More information about the dev mailing list